fix: segment_label end-time recalculé depuis video_duration_s (exiftool=0 à lingest)
This commit is contained in:
15
app/main.py
15
app/main.py
@@ -193,7 +193,20 @@ def _build_acquisitions():
|
|||||||
dur_s = _job_duration_s(j)
|
dur_s = _job_duration_s(j)
|
||||||
d["_duration"] = _fmt_dur(dur_s)
|
d["_duration"] = _fmt_dur(dur_s)
|
||||||
d["gp_label"] = gp_label.get((j["acquisition_id"], j["auv"], j["gopro_serial"]), "?")
|
d["gp_label"] = gp_label.get((j["acquisition_id"], j["auv"], j["gopro_serial"]), "?")
|
||||||
d["video_duration_fmt"] = _fmt_dur(int(j["video_duration_s"] or 0)) if (j["video_duration_s"] or 0) > 0 else "—"
|
vid_dur_s = float(j["video_duration_s"] or 0)
|
||||||
|
d["video_duration_fmt"] = _fmt_dur(int(vid_dur_s)) if vid_dur_s > 0 else "—"
|
||||||
|
# Fix segment_label end-time when exiftool returned duration=0 at ingest
|
||||||
|
seg_label = j["segment_label"] or ""
|
||||||
|
if vid_dur_s > 0 and "–" in seg_label:
|
||||||
|
try:
|
||||||
|
from datetime import datetime as _dt, timedelta as _td
|
||||||
|
start_str = seg_label.split("–")[0].strip()
|
||||||
|
t0 = _dt.strptime(start_str, "%H:%M")
|
||||||
|
t1 = t0 + _td(seconds=vid_dur_s)
|
||||||
|
seg_label = f"{start_str}–{t1.strftime('%H:%M')}"
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
d["segment_label"] = seg_label
|
||||||
d["trimmed_total"] = (j["trimmed_head"] or 0) + (j["trimmed_tail"] or 0)
|
d["trimmed_total"] = (j["trimmed_head"] or 0) + (j["trimmed_tail"] or 0)
|
||||||
thumb_path = DB_PATH.parent / "thumbnails" / f"job_{j['id']}.jpg"
|
thumb_path = DB_PATH.parent / "thumbnails" / f"job_{j['id']}.jpg"
|
||||||
d["has_thumbnail"] = thumb_path.is_file()
|
d["has_thumbnail"] = thumb_path.is_file()
|
||||||
|
|||||||
Reference in New Issue
Block a user