fix: properly handle end-of-line comments in command parsing

This commit is contained in:
Emmanuel BENOîT 2025-04-07 10:57:02 +02:00
parent ea413d2e3e
commit ce07b6f0db
Signed by: Emmanuel BENOîT
SSH key fingerprint: SHA256:l7PFUUF5TCDsvYeQC9OnTNz08dFY7Fvf4Hv3neIqYpg

View file

@ -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: