ff
This commit is contained in:
@@ -15,6 +15,9 @@ from .pattern_delete_screen import PatternDeleteScreen
|
||||
from .show_controller import ShowController
|
||||
from .pattern_controller import PatternController
|
||||
|
||||
from .show_descriptor import ShowDescriptor
|
||||
|
||||
|
||||
# Screen[dict[int, str, int]]
|
||||
class ShowDetailsScreen(Screen):
|
||||
|
||||
@@ -79,7 +82,7 @@ class ShowDetailsScreen(Screen):
|
||||
self.__sc = ShowController(context = self.context)
|
||||
self.__pc = PatternController(context = self.context)
|
||||
|
||||
self.show_obj = self.__sc.getShowDescriptor(showId) if showId is not None else {}
|
||||
self.__showDescriptor = self.__sc.getShowDescriptor(showId) if showId is not None else None
|
||||
|
||||
|
||||
def loadPatterns(self, show_id : int):
|
||||
@@ -98,18 +101,18 @@ class ShowDetailsScreen(Screen):
|
||||
|
||||
def on_mount(self):
|
||||
|
||||
if self.show_obj:
|
||||
if not self.__showDescriptor is None:
|
||||
|
||||
self.query_one("#id_wdg", Static).update(str(self.show_obj['id']))
|
||||
self.query_one("#name_input", Input).value = str(self.show_obj['name'])
|
||||
self.query_one("#year_input", Input).value = str(self.show_obj['year'])
|
||||
self.query_one("#id_wdg", Static).update(str(self.__showDescriptor.getId()))
|
||||
self.query_one("#name_input", Input).value = str(self.__showDescriptor.getName())
|
||||
self.query_one("#year_input", Input).value = str(self.__showDescriptor.getYear())
|
||||
|
||||
self.query_one("#index_season_digits_input", Input).value = str(self.show_obj['index_season_digits'])
|
||||
self.query_one("#index_episode_digits_input", Input).value = str(self.show_obj['index_episode_digits'])
|
||||
self.query_one("#indicator_season_digits_input", Input).value = str(self.show_obj['indicator_season_digits'])
|
||||
self.query_one("#indicator_episode_digits_input", Input).value = str(self.show_obj['indicator_episode_digits'])
|
||||
self.query_one("#index_season_digits_input", Input).value = str(self.__showDescriptor.getIndexSeasonDigits())
|
||||
self.query_one("#index_episode_digits_input", Input).value = str(self.__showDescriptor.getIndexEpisodeDigits())
|
||||
self.query_one("#indicator_season_digits_input", Input).value = str(self.__showDescriptor.getIndicatorSeasonDigits())
|
||||
self.query_one("#indicator_episode_digits_input", Input).value = str(self.__showDescriptor.getIndicatorEpisodeDigits())
|
||||
|
||||
showId = int(self.show_obj['id'])
|
||||
showId = int(self.__showDescriptor.getId())
|
||||
#raise click.ClickException(f"show_id {showId}")
|
||||
patternList = self.loadPatterns(showId)
|
||||
# raise click.ClickException(f"patternList {patternList}")
|
||||
@@ -138,7 +141,7 @@ class ShowDetailsScreen(Screen):
|
||||
if row_key is not None:
|
||||
selected_row_data = self.patternTable.get_row(row_key)
|
||||
|
||||
selectedPattern['show_id'] = self.show_obj['id']
|
||||
selectedPattern['show_id'] = self.__showDescriptor.getId()
|
||||
selectedPattern['pattern'] = str(selected_row_data[0])
|
||||
|
||||
except CellDoesNotExist:
|
||||
@@ -151,8 +154,8 @@ class ShowDetailsScreen(Screen):
|
||||
|
||||
|
||||
def action_add_pattern(self):
|
||||
if self.show_obj:
|
||||
self.app.push_screen(PatternDetailsScreen(showId = self.show_obj['id']), self.handle_add_pattern) # <-
|
||||
if not self.__showDescriptor is None:
|
||||
self.app.push_screen(PatternDetailsScreen(showId = self.__showDescriptor.getId()), self.handle_add_pattern) # <-
|
||||
|
||||
|
||||
def handle_add_pattern(self, screenResult):
|
||||
@@ -172,7 +175,7 @@ class ShowDetailsScreen(Screen):
|
||||
if selectedPatternId is None:
|
||||
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) # <-
|
||||
self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.__showDescriptor.getId()), self.handle_edit_pattern) # <-
|
||||
|
||||
|
||||
def handle_edit_pattern(self, screenResult):
|
||||
@@ -197,7 +200,7 @@ class ShowDetailsScreen(Screen):
|
||||
if selectedPatternId is None:
|
||||
raise click.ClickException(f"ShowDetailsScreen.action_remove_pattern(): Pattern to remove has no id")
|
||||
|
||||
self.app.push_screen(PatternDeleteScreen(patternId = selectedPatternId, showId = self.show_obj['id']), self.handle_remove_pattern)
|
||||
self.app.push_screen(PatternDeleteScreen(patternId = selectedPatternId, showId = self.__showDescriptor.getId()), self.handle_remove_pattern)
|
||||
|
||||
|
||||
def handle_remove_pattern(self, screenResult):
|
||||
@@ -225,11 +228,11 @@ class ShowDetailsScreen(Screen):
|
||||
with Grid():
|
||||
|
||||
# 1
|
||||
yield Static("Show" if self.show_obj else "New Show", id="toplabel", classes="five")
|
||||
yield Static("Show" if not self.__showDescriptor is None else "New Show", id="toplabel", classes="five")
|
||||
|
||||
# 2
|
||||
yield Static("ID")
|
||||
if self.show_obj:
|
||||
if not self.__showDescriptor is None:
|
||||
yield Static("", id="id_wdg", classes="four")
|
||||
else:
|
||||
yield Input(type="integer", id="id_wdg", classes="four")
|
||||
@@ -282,22 +285,23 @@ class ShowDetailsScreen(Screen):
|
||||
|
||||
def getShowDescriptorFromInput(self):
|
||||
|
||||
showDescriptor = {}
|
||||
|
||||
if self.show_obj:
|
||||
showDescriptor['id'] = int(self.show_obj['id'])
|
||||
else:
|
||||
showDescriptor['id'] = int(self.query_one("#id_wdg", Input).value)
|
||||
|
||||
showDescriptor['name'] = str(self.query_one("#name_input", Input).value)
|
||||
showDescriptor['year'] = int(self.query_one("#year_input", Input).value)
|
||||
kwargs = {}
|
||||
|
||||
showDescriptor['index_season_digits'] = int(self.query_one("#index_season_digits_input", Input).value)
|
||||
showDescriptor['index_episode_digits'] = int(self.query_one("#index_episode_digits_input", Input).value)
|
||||
showDescriptor['indicator_season_digits'] = int(self.query_one("#indicator_season_digits_input", Input).value)
|
||||
showDescriptor['indicator_episode_digits'] = int(self.query_one("#indicator_episode_digits_input", Input).value)
|
||||
if self.__showDescriptor:
|
||||
kwargs[ShowDescriptor.ID_KEY] = int(self.__showDescriptor.getId())
|
||||
else:
|
||||
kwargs[ShowDescriptor.ID_KEY] = int(self.query_one("#id_wdg", Input).value)
|
||||
|
||||
return showDescriptor
|
||||
|
||||
kwargs[ShowDescriptor.NAME_KEY] = str(self.query_one("#name_input", Input).value)
|
||||
kwargs[ShowDescriptor.YEAR_KEY] = int(self.query_one("#year_input", Input).value)
|
||||
|
||||
kwargs[ShowDescriptor.INDEX_SEASON_DIGITS_KEY] = int(self.query_one("#index_season_digits_input", Input).value)
|
||||
kwargs[ShowDescriptor.INDEX_EPISODE_DIGITS_KEY] = int(self.query_one("#index_episode_digits_input", Input).value)
|
||||
kwargs[ShowDescriptor.INDICATOR_SEASON_DIGITS_KEY] = int(self.query_one("#indicator_season_digits_input", Input).value)
|
||||
kwargs[ShowDescriptor.INDICATOR_EPISODE_DIGITS_KEY] = int(self.query_one("#indicator_episode_digits_input", Input).value)
|
||||
|
||||
return ShowDescriptor(**kwargs)
|
||||
|
||||
|
||||
# Event handler for button press
|
||||
|
||||
Reference in New Issue
Block a user