diff --git a/bin/ffx/media_details_screen.py b/bin/ffx/media_details_screen.py index 53438bd..44743b9 100644 --- a/bin/ffx/media_details_screen.py +++ b/bin/ffx/media_details_screen.py @@ -17,6 +17,7 @@ from .tag_controller import TagController from .track_details_screen import TrackDetailsScreen from .track_delete_screen import TrackDeleteScreen from .show_details_screen import ShowDetailsScreen +from .pattern_details_screen import PatternDetailsScreen from ffx.track_type import TrackType from ffx.model.track import Track @@ -99,7 +100,7 @@ class MediaDetailsScreen(Screen): BINDINGS = [ ("n", "new_pattern", "New Pattern"), ("u", "update_pattern", "Update Pattern"), - ("e", "edit_pattern", "Update Pattern"), + ("e", "edit_pattern", "Edit Pattern"), ] @@ -797,6 +798,24 @@ class MediaDetailsScreen(Screen): self.updateDifferences() + def action_edit_pattern(self): - pass + + patternDescriptor = {} + patternDescriptor['show_id'] = self.getSelectedShow()['id'] + patternDescriptor['pattern'] = self.getPatternFromInput() + + if patternDescriptor['pattern']: + + selectedPatternId = self.__pc.findPattern(patternDescriptor) + + if selectedPatternId is None: + raise click.ClickException(f"MediaDetailsScreen.action_edit_pattern(): Pattern to edit has no id") + + self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.getSelectedShow()['id']), self.handle_edit_pattern) # <- + + + def handle_edit_pattern(self, screenResult): + self.query_one("#pattern_input", Input).value = screenResult['pattern'] + self.updateDifferences() diff --git a/bin/ffx/show_details_screen.py b/bin/ffx/show_details_screen.py index acbba24..2cfc574 100644 --- a/bin/ffx/show_details_screen.py +++ b/bin/ffx/show_details_screen.py @@ -166,7 +166,7 @@ class ShowDetailsScreen(Screen): selectedPatternId = self.__pc.findPattern(selectedPatternDescriptor) if selectedPatternId is None: - raise click.ClickException(f"ShowDetailsScreen.action_edit_pattern(): Pattern to remove has no id") + raise click.ClickException(f"ShowDetailsScreen.action_edit_pattern(): Pattern to edit has no id") self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.show_obj['id']), self.handle_edit_pattern) # <-