Commit fix to time reader
This commit is contained in:
+8
-1
@@ -389,6 +389,7 @@ def parse_timestamp(value: str) -> float:
|
||||
- "2:54" → 2 minutes 54 seconds (174.0)
|
||||
- "1:23:45" → 1 hour 23 minutes 45 seconds
|
||||
- "2:54.5" → 2 minutes 54.5 seconds
|
||||
- "2m:3.5s" → 2 minutes 3.5 seconds
|
||||
|
||||
Returns:
|
||||
Time in seconds as a float.
|
||||
@@ -399,6 +400,10 @@ def parse_timestamp(value: str) -> float:
|
||||
value = value.strip()
|
||||
|
||||
# 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"):
|
||||
value = value[:-1]
|
||||
|
||||
@@ -604,9 +609,11 @@ def parse_narration(
|
||||
skip = segment_data.get("skip", default_begin)
|
||||
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"]:
|
||||
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"]:
|
||||
end_time = parse_timestamp(segment_data["end"])
|
||||
# take = end - begin (duration from begin to end)
|
||||
|
||||
Reference in New Issue
Block a user