fix: properly handle end-of-line comments in command parsing
This commit is contained in:
parent
ea413d2e3e
commit
ce07b6f0db
1 changed files with 11 additions and 7 deletions
18
merge_srt.py
18
merge_srt.py
|
@ -56,28 +56,32 @@ class SRTMerger:
|
|||
if line.startswith('#'):
|
||||
continue
|
||||
parts = shlex.split(line)
|
||||
if not parts:
|
||||
errors.append(f"Line {line_number}: empty command after splitting.")
|
||||
command_parts = []
|
||||
for part in parts:
|
||||
if part.startswith('#'):
|
||||
break
|
||||
command_parts.append(part)
|
||||
if not command_parts:
|
||||
continue
|
||||
command = parts[0].upper()
|
||||
command = command_parts[0].upper()
|
||||
if command not in ['COPY', 'MAP', 'SYNC', 'PUT']:
|
||||
errors.append(f"Line {line_number}: unknown command '{command}'.")
|
||||
continue
|
||||
parsed = None
|
||||
if command == 'COPY':
|
||||
parsed = self.parse_copy(parts)
|
||||
parsed = self.parse_copy(command_parts)
|
||||
if parsed is None:
|
||||
errors.append(f"Line {line_number}: invalid COPY command.")
|
||||
elif command == 'MAP':
|
||||
parsed = self.parse_map(parts)
|
||||
parsed = self.parse_map(command_parts)
|
||||
if parsed is None:
|
||||
errors.append(f"Line {line_number}: invalid MAP command.")
|
||||
elif command == 'SYNC':
|
||||
parsed = self.parse_sync(parts)
|
||||
parsed = self.parse_sync(command_parts)
|
||||
if parsed is None:
|
||||
errors.append(f"Line {line_number}: invalid SYNC command.")
|
||||
elif command == 'PUT':
|
||||
parsed = self.parse_put(parts)
|
||||
parsed = self.parse_put(command_parts)
|
||||
if parsed is None:
|
||||
errors.append(f"Line {line_number}: invalid PUT command.")
|
||||
if parsed is not None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue