nightly
This commit is contained in:
@@ -79,6 +79,7 @@ class PatternController():
|
||||
|
||||
def getPatternDict(self, pattern):
|
||||
patternDescriptor = {}
|
||||
patternDescriptor['id'] = int(pattern.id)
|
||||
patternDescriptor['pattern'] = str(pattern.pattern)
|
||||
patternDescriptor['show_id'] = int(pattern.show_id)
|
||||
return patternDescriptor
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import click
|
||||
import click, re
|
||||
|
||||
from textual import events
|
||||
from textual.app import App, ComposeResult
|
||||
@@ -29,8 +29,8 @@ class PatternDetailsScreen(Screen):
|
||||
CSS = """
|
||||
|
||||
Grid {
|
||||
grid-size: 5 11;
|
||||
grid-rows: 2 2 2 2 6 2 2 6 2 2 2;
|
||||
grid-size: 5 12;
|
||||
grid-rows: 2 2 2 2 2 6 2 2 6 2 2 2;
|
||||
grid-columns: 25 25 25 25 25;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
@@ -79,7 +79,6 @@ class PatternDetailsScreen(Screen):
|
||||
self.__sc = ShowController(context = self.context)
|
||||
self.__tc = TrackController(context = self.context)
|
||||
|
||||
self.pattern_id = patternId
|
||||
self.pattern_obj = self.__pc.getPatternDescriptor(patternId) if patternId is not None else {}
|
||||
|
||||
self.show_obj = self.__sc.getShowDesciptor(showId) if showId is not None else {}
|
||||
@@ -108,9 +107,9 @@ class PatternDetailsScreen(Screen):
|
||||
|
||||
self.audioStreamsTable.clear()
|
||||
|
||||
trackIds = self.__tc.findAllTracks(self.pattern_id) #! id missing
|
||||
trackIds = self.__tc.findAllTracks(self.pattern_obj['id'])
|
||||
|
||||
for audioTrackId in trackIds['audio']:
|
||||
for audioTrackId in trackIds[TrackType.AUDIO.label()]:
|
||||
|
||||
ad = self.__tc.getTrackDescriptor(audioTrackId)
|
||||
dispoList = ad['disposition_list']
|
||||
@@ -126,24 +125,24 @@ class PatternDetailsScreen(Screen):
|
||||
|
||||
def updateSubtitleTracks(self):
|
||||
|
||||
self.audioStreamsTable.clear()
|
||||
self.subtitleStreamsTable.clear()
|
||||
|
||||
trackIds = self.__tc.findAllTracks(self.pattern_id)
|
||||
trackIds = self.__tc.findAllTracks(self.pattern_obj['id'])
|
||||
|
||||
for audioTrackId in trackIds['audio']:
|
||||
for subtitleTrackId in trackIds[TrackType.SUBTITLE.label()]:
|
||||
|
||||
ad = self.__tc.getTrackDescriptor(audioTrackId)
|
||||
dispoList = ad['disposition_list']
|
||||
sd = self.__tc.getTrackDescriptor(subtitleTrackId)
|
||||
dispoList = sd['disposition_list']
|
||||
|
||||
row = (ad['sub_index'],
|
||||
row = (sd['sub_index'],
|
||||
" ",
|
||||
ad['language'].label(),
|
||||
ad['title'],
|
||||
sd['language'].label(),
|
||||
sd['title'],
|
||||
'Yes' if TrackDisposition.DEFAULT in dispoList else 'No',
|
||||
'Yes' if TrackDisposition.FORCED in dispoList else 'No')
|
||||
|
||||
self.audioStreamsTable.add_row(*map(str, row))
|
||||
|
||||
self.subtitleStreamsTable.add_row(*map(str, row))
|
||||
|
||||
|
||||
def on_mount(self):
|
||||
|
||||
@@ -198,7 +197,8 @@ class PatternDetailsScreen(Screen):
|
||||
|
||||
# 2
|
||||
yield Static("from show")
|
||||
yield Static("", id="showlabel")
|
||||
yield Static("", id="showlabel", classes="three")
|
||||
yield Button("Substitute pattern", id="patternbutton")
|
||||
|
||||
# 3
|
||||
yield Static(" ", classes="five")
|
||||
@@ -315,15 +315,11 @@ class PatternDetailsScreen(Screen):
|
||||
|
||||
if self.pattern_obj:
|
||||
|
||||
if self.pattern_id is None:
|
||||
if self.__pc.updatePattern(self.pattern_obj['id'], patternDescriptor):
|
||||
self.dismiss(patternDescriptor)
|
||||
else:
|
||||
#TODO: Meldung
|
||||
self.app.pop_screen()
|
||||
else:
|
||||
if self.__pc.updatePattern(self.pattern_id, patternDescriptor):
|
||||
self.dismiss(patternDescriptor)
|
||||
else:
|
||||
#TODO: Meldung
|
||||
self.app.pop_screen()
|
||||
|
||||
else:
|
||||
if self.__pc.addPattern(patternDescriptor):
|
||||
@@ -345,24 +341,35 @@ class PatternDetailsScreen(Screen):
|
||||
|
||||
if event.button.id == "button_add_audio_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackType = TrackType.AUDIO, patternId = self.pattern_obj['id'], subIndex = len(self.audioStreamsTable.rows)), self.handle_add_track)
|
||||
if event.button.id == "button_edit_audio_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackId = self.getSelectedAudioTrackId()), self.handle_edit_track)
|
||||
|
||||
selectedAudioTrackId = self.getSelectedAudioTrackId()
|
||||
if selectedAudioTrackId is not None:
|
||||
if event.button.id == "button_edit_audio_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackId = selectedAudioTrackId), self.handle_edit_track)
|
||||
if event.button.id == "button_delete_audio_stream":
|
||||
self.app.push_screen(TrackDeleteScreen(trackId = selectedAudioTrackId), self.handle_delete_track)
|
||||
|
||||
|
||||
if event.button.id == "button_add_subtitle_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackType = TrackType.SUBTITLE, patternId = self.pattern_obj['id'], subIndex = len(self.subtitleStreamsTable.rows)), self.handle_add_track)
|
||||
if event.button.id == "button_edit_subtitle_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackId = self.getSelectedSubtitleTrackId()), self.handle_edit_track)
|
||||
|
||||
selectedSubtitleTrackId = self.getSelectedSubtitleTrackId()
|
||||
if selectedSubtitleTrackId is not None:
|
||||
if event.button.id == "button_edit_subtitle_stream":
|
||||
self.app.push_screen(TrackDetailsScreen(trackId = selectedSubtitleTrackId), self.handle_edit_track)
|
||||
if event.button.id == "button_delete_subtitle_stream":
|
||||
self.app.push_screen(TrackDeleteScreen(trackId = selectedSubtitleTrackId), self.handle_delete_track)
|
||||
|
||||
if event.button.id == "patternbutton":
|
||||
|
||||
INDICATOR_PATTERN = '([sS][0-9]+[eE][0-9]+)'
|
||||
|
||||
pattern = self.query_one("#pattern_input", Input).value
|
||||
|
||||
patternMatch = re.search(INDICATOR_PATTERN, pattern)
|
||||
|
||||
if patternMatch:
|
||||
self.query_one("#pattern_input", Input).value = pattern.replace(patternMatch.group(1), INDICATOR_PATTERN)
|
||||
|
||||
|
||||
def handle_add_track(self, trackDescriptor):
|
||||
|
||||
|
||||
@@ -120,6 +120,7 @@ class TrackController():
|
||||
|
||||
def getTrackDict(self, track):
|
||||
trackDescriptor = {}
|
||||
trackDescriptor['id'] = int(track.id)
|
||||
trackDescriptor['pattern_id'] = int(track.pattern_id)
|
||||
trackDescriptor['type'] = TrackType(track.track_type)
|
||||
trackDescriptor['sub_index'] = int(track.sub_index)
|
||||
|
||||
Reference in New Issue
Block a user