refactor: pass individual parameters to command handlers instead of command tuple

This commit is contained in:
Emmanuel BENOîT 2025-04-06 12:50:15 +02:00
parent 8f3c0931bf
commit 98cedc4be3
Signed by: Emmanuel BENOîT
SSH key fingerprint: SHA256:l7PFUUF5TCDsvYeQC9OnTNz08dFY7Fvf4Hv3neIqYpg

View file

@ -87,15 +87,17 @@ class SRTMerger:
def process_commands(self):
for cmd in self.commands:
if cmd[0] == 'COPY':
self.handle_copy(cmd)
_, source, start, end = cmd
self.handle_copy(source, start, end)
elif cmd[0] == 'MAP':
self.handle_map(cmd)
_, text_source, text_start, time_source, time_start, count = cmd
self.handle_map(text_source, text_start, time_source, time_start, count)
elif cmd[0] == 'SYNC':
self.handle_sync(cmd)
_, text_source, text_index, time_index = cmd
self.handle_sync(text_source, text_index, time_index)
self.write_output()
def handle_copy(self, cmd):
source, start, end = cmd[1:]
def handle_copy(self, source, start, end):
source_list = self.srt1 if source == 1 else self.srt2
start_idx, end_idx = start - 1, end - 1
if start_idx < 0 or end_idx >= len(source_list) or start_idx > end_idx:
@ -103,8 +105,7 @@ class SRTMerger:
return
self.output.extend(source_list[start_idx:end_idx + 1])
def handle_map(self, cmd):
text_source, text_start, time_source, time_start, count = cmd[1:]
def handle_map(self, text_source, text_start, time_source, time_start, count):
text_list = self.srt1 if text_source == 1 else self.srt2
time_list = self.srt1 if time_source == 1 else self.srt2
text_start_idx = text_start - 1
@ -121,8 +122,7 @@ class SRTMerger:
'text': text_entry['text'],
})
def handle_sync(self, cmd):
text_source, text_index, time_index = cmd[1:]
def handle_sync(self, text_source, text_index, time_index):
text_list = self.srt1 if text_source == 1 else self.srt2
time_list = self.srt2 if text_source == 1 else self.srt1
text_start_idx = text_index - 1