click-textual
Javanaut 12 months ago
parent 5e0fdd6476
commit a263c735aa

@ -392,8 +392,8 @@ class MediaDetailsScreen(Screen):
# 7
yield Static(" ")
yield Button("Select Default", id="select_default_button")
yield Button("Select Forced", id="select_forced_button")
yield Button("Set Default", id="select_default_button")
yield Button("Set Forced", id="select_forced_button")
yield Static(" ")
# 8
yield Static("Streams")
@ -403,8 +403,15 @@ class MediaDetailsScreen(Screen):
yield Footer()
def getPatternFromInput(self):
return str(self.query_one("#pattern_input", Input).value)
def getPatternDescriptorFromInput(self):
"""Returns show id and pattern from corresponding inputs"""
patternDescriptor = {}
try:
patternDescriptor['show_id'] = self.getSelectedShowDescriptor().getId()
patternDescriptor['pattern'] = str(self.query_one("#pattern_input", Input).value)
except:
pass
return patternDescriptor
def on_button_pressed(self, event: Button.Pressed) -> None:
@ -492,14 +499,15 @@ class MediaDetailsScreen(Screen):
if showRowIndex is not None:
self.showsTable.move_cursor(row=showRowIndex)
patternDescriptor = {}
patternDescriptor['show_id'] = showDescriptor.getId()
patternDescriptor['pattern'] = self.getPatternFromInput()
self.__pc.addPattern(patternDescriptor)
patternDescriptor = self.getPatternDescriptorFromInput()
if patternDescriptor:
patternId = self.__pc.addPattern(patternDescriptor)
self.highlightPattern(False)
self.highlightPattern(False)
self.action_update_pattern()
for trackDescriptor in self.__currentMediaDescriptor.getAllTrackDescriptors():
self.__tc.addTrack(trackDescriptor, patternId = patternId)
def action_new_pattern(self):
@ -521,13 +529,10 @@ class MediaDetailsScreen(Screen):
"""When updating the database the actions must reverse the difference (eq to diff db->file)"""
if self.__currentPattern is not None:
inputPattern = self.getPatternFromInput()
if self.__currentPattern.getPattern() != inputPattern:
patternDescriptor = {}
patternDescriptor['show_id'] = self.getSelectedShowDescriptor().getId()
patternDescriptor['pattern'] = inputPattern
self.__pc.updatePattern(self.__currentPattern.getId(), patternDescriptor)
patternDescriptor = self.getPatternDescriptorFromInput()
if (patternDescriptor
and self.__currentPattern.getPattern() != patternDescriptor['pattern']):
return self.__pc.updatePattern(self.__currentPattern.getId(), patternDescriptor)
self.loadProperties()
@ -614,7 +619,7 @@ class MediaDetailsScreen(Screen):
def action_edit_pattern(self):
patternDescriptor = {}
patternDescriptor['show_id'] = self.getSelectedShow()['id']
patternDescriptor['show_id'] = self.getSelectedShowDescriptor().getId()
patternDescriptor['pattern'] = self.getPatternFromInput()
if patternDescriptor['pattern']:
@ -624,7 +629,7 @@ class MediaDetailsScreen(Screen):
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) # <-
self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.getSelectedShowDescriptor().getId()), self.handle_edit_pattern) # <-
def handle_edit_pattern(self, screenResult):

@ -16,14 +16,14 @@ class PatternController():
try:
s = self.Session()
q = s.query(Pattern).filter(Pattern.show_id == int(patternDescriptor['show_id']), Pattern.pattern == str(patternDescriptor['pattern']))
q = s.query(Pattern).filter(Pattern.show_id == int(patternDescriptor['show_id']))
if not q.count():
pattern = Pattern(show_id = int(patternDescriptor['show_id']),
pattern = str(patternDescriptor['pattern']))
s.add(pattern)
s.commit()
return int(pattern.getId())
return pattern.getId()
else:
return None

Loading…
Cancel
Save