Commit fix to time reader

This commit is contained in:
2026-05-13 21:30:40 +02:00
parent 12b052eb1d
commit 20aba06be1
+8 -1
View File
@@ -389,6 +389,7 @@ def parse_timestamp(value: str) -> float:
- "2:54" → 2 minutes 54 seconds (174.0) - "2:54" → 2 minutes 54 seconds (174.0)
- "1:23:45" → 1 hour 23 minutes 45 seconds - "1:23:45" → 1 hour 23 minutes 45 seconds
- "2:54.5" → 2 minutes 54.5 seconds - "2:54.5" → 2 minutes 54.5 seconds
- "2m:3.5s" → 2 minutes 3.5 seconds
Returns: Returns:
Time in seconds as a float. Time in seconds as a float.
@@ -399,6 +400,10 @@ def parse_timestamp(value: str) -> float:
value = value.strip() value = value.strip()
# Remove trailing 's' if present (e.g., "3.5s") # Remove trailing 's' if present (e.g., "3.5s")
if "h" in value:
value = value.replace("h", ":")
if "m" in value:
value = value.replace("m", ":")
if value.endswith("s"): if value.endswith("s"):
value = value[:-1] value = value[:-1]
@@ -604,9 +609,11 @@ def parse_narration(
skip = segment_data.get("skip", default_begin) skip = segment_data.get("skip", default_begin)
take = segment_data.get("take") take = segment_data.get("take")
# Explicit begin/end always override defaults # Explicit begin/start/end always override defaults
if "begin" in segment_data and segment_data["begin"]: if "begin" in segment_data and segment_data["begin"]:
skip = parse_timestamp(segment_data["begin"]) skip = parse_timestamp(segment_data["begin"])
elif "start" in segment_data and segment_data["start"]:
skip = parse_timestamp(segment_data["start"])
if "end" in segment_data and segment_data["end"]: if "end" in segment_data and segment_data["end"]:
end_time = parse_timestamp(segment_data["end"]) end_time = parse_timestamp(segment_data["end"])
# take = end - begin (duration from begin to end) # take = end - begin (duration from begin to end)