click-textual v0.1.1
Javanaut 12 months ago
parent 1cfa51f2ca
commit 5e0fdd6476

@ -15,8 +15,10 @@ from ffx.track_type import TrackType
from ffx.video_encoder import VideoEncoder
VERSION='0.1.0'
VERSION='0.1.1'
# 0.1.1
# Bugfixes, TMBD identify shows
@click.group()
@click.pass_context

@ -41,3 +41,7 @@ def setDiff(a : set, b : set) -> set:
diffResult[DIFF_ADDED_KEY] = b_only
return diffResult
def filterFilename(fileName: str) -> str:
fileName = str(fileName).replace(':', ';')
return fileName

@ -52,7 +52,7 @@ class Show(Base):
kwargs[ShowDescriptor.NAME_KEY] = str(self.name)
kwargs[ShowDescriptor.YEAR_KEY] = int(self.year)
kwargs[ShowDescriptor.INDEX_SEASON_DIGITS_KEY] = int(self.index_season_digits)
kwargs[ShowDescriptor.INDEX_EPISODE_DIGITS_KEY] = int(self.index_season_digits)
kwargs[ShowDescriptor.INDEX_EPISODE_DIGITS_KEY] = int(self.index_episode_digits)
kwargs[ShowDescriptor.INDICATOR_SEASON_DIGITS_KEY] = int(self.indicator_season_digits)
kwargs[ShowDescriptor.INDICATOR_EPISODE_DIGITS_KEY] = int(self.indicator_episode_digits)

@ -45,14 +45,13 @@ class ShowDeleteScreen(Screen):
self.Session = self.context['database']['session'] # convenience
self.__sc = ShowController(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 {}
def on_mount(self):
if self.show_obj:
self.query_one("#showlabel", Static).update(f"{self.show_obj['id']} - {self.show_obj['name']} ({self.show_obj['year']})")
if not self.__showDescriptor is None:
self.query_one("#showlabel", Static).update(f"{self.__showDescriptor.getId()} - {self.__showDescriptor.getName()} ({self.__showDescriptor.getYear()})")
def compose(self):
@ -84,8 +83,9 @@ class ShowDeleteScreen(Screen):
if event.button.id == "delete_button":
if self.__sc.deleteShow(self.show_obj['id']):
self.dismiss(self.show_obj['id'])
if not self.__showDescriptor is None:
if self.__sc.deleteShow(self.__showDescriptor.getId()):
self.dismiss(self.__showDescriptor)
else:
#TODO: Meldung

@ -19,6 +19,8 @@ from .tmdb_controller import TmdbController
from .show_descriptor import ShowDescriptor
from .helper import filterFilename
# Screen[dict[int, str, int]]
class ShowDetailsScreen(Screen):
@ -106,7 +108,7 @@ class ShowDetailsScreen(Screen):
if not self.__showDescriptor is None:
self.query_one("#id_input", Static).update(str(self.__showDescriptor.getId()))
self.query_one("#id_static", 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())
@ -238,7 +240,7 @@ class ShowDetailsScreen(Screen):
# 2
yield Static("ID")
if not self.__showDescriptor is None:
yield Static("", classes="four")
yield Static("", id="id_static", classes="four")
else:
yield Input(type="integer", id="id_input", classes="four")
@ -292,10 +294,13 @@ class ShowDetailsScreen(Screen):
kwargs = {}
if self.__showDescriptor:
kwargs[ShowDescriptor.ID_KEY] = int(self.__showDescriptor.getId())
else:
kwargs[ShowDescriptor.ID_KEY] = int(self.query_one("#id_input", Input).value)
try:
if self.__showDescriptor:
kwargs[ShowDescriptor.ID_KEY] = int(self.__showDescriptor.getId())
else:
kwargs[ShowDescriptor.ID_KEY] = int(self.query_one("#id_input", Input).value)
except ValueError:
return None
try:
kwargs[ShowDescriptor.NAME_KEY] = str(self.query_one("#name_input", Input).value)
@ -334,11 +339,12 @@ class ShowDetailsScreen(Screen):
showDescriptor = self.getShowDescriptorFromInput()
if self.__sc.updateShow(showDescriptor):
self.dismiss(showDescriptor)
else:
#TODO: Meldung
self.app.pop_screen()
if not showDescriptor is None:
if self.__sc.updateShow(showDescriptor):
self.dismiss(showDescriptor)
else:
#TODO: Meldung
self.app.pop_screen()
if event.button.id == "cancel_button":
self.app.pop_screen()
@ -347,10 +353,9 @@ class ShowDetailsScreen(Screen):
if event.button.id == "identify_button":
showDescriptor = self.getShowDescriptorFromInput()
showResult = self.__tc.queryShow(showDescriptor.getId())
firstAirDate = datetime.strptime(showResult['first_air_date'], '%Y-%m-%d')
if not showDescriptor is None:
showResult = self.__tc.queryShow(showDescriptor.getId())
firstAirDate = datetime.strptime(showResult['first_air_date'], '%Y-%m-%d')
self.query_one("#name_input", Input).value = str(showResult['name'])
self.query_one("#year_input", Input).value = str(firstAirDate.year)
self.query_one("#name_input", Input).value = filterFilename(showResult['name'])
self.query_one("#year_input", Input).value = str(firstAirDate.year)

@ -11,6 +11,8 @@ from .show_controller import ShowController
from .show_details_screen import ShowDetailsScreen
from .show_delete_screen import ShowDeleteScreen
from ffx.show_descriptor import ShowDescriptor
from .help_screen import HelpScreen
from textual.widgets._data_table import CellDoesNotExist
@ -97,14 +99,14 @@ class ShowsScreen(Screen):
self.app.push_screen(ShowDetailsScreen(showId = selectedShowId), self.handle_edit_screen)
def handle_edit_screen(self, screenResult):
def handle_edit_screen(self, showDescriptor: ShowDescriptor):
try:
row_key, col_key = self.table.coordinate_to_cell_key(self.table.cursor_coordinate)
self.table.update_cell(row_key, self.column_key_name, screenResult['name'])
self.table.update_cell(row_key, self.column_key_year, screenResult['year'])
self.table.update_cell(row_key, self.column_key_name, showDescriptor.getName())
self.table.update_cell(row_key, self.column_key_year, showDescriptor.getYear())
except CellDoesNotExist:
pass
@ -120,7 +122,7 @@ class ShowsScreen(Screen):
self.app.push_screen(ShowDeleteScreen(showId = selectedShowId), self.handle_delete_show)
def handle_delete_show(self, screenResult):
def handle_delete_show(self, showDescriptor: ShowDescriptor):
try:
row_key, col_key = self.table.coordinate_to_cell_key(self.table.cursor_coordinate)

Loading…
Cancel
Save