nightly
This commit is contained in:
@@ -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 = {}
|
||||
|
||||
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,6 +339,7 @@ class ShowDetailsScreen(Screen):
|
||||
|
||||
showDescriptor = self.getShowDescriptorFromInput()
|
||||
|
||||
if not showDescriptor is None:
|
||||
if self.__sc.updateShow(showDescriptor):
|
||||
self.dismiss(showDescriptor)
|
||||
else:
|
||||
@@ -347,10 +353,9 @@ class ShowDetailsScreen(Screen):
|
||||
if event.button.id == "identify_button":
|
||||
|
||||
showDescriptor = self.getShowDescriptorFromInput()
|
||||
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("#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)
|
||||
|
||||
Reference in New Issue
Block a user