hm_ai_qc_report_tool/modules
nickviljoen a0cc96afaf Video QC: multi-file batch upload & processing
Mirrors the existing HM QC batch pattern so Video QC now supports
queueing and processing multiple videos from a single upload.

New:
- batch_executor.py — BatchVideoQCExecutor, sequential processing
  (gc.collect() between videos, cooldown between batches), stamps
  a shared batch_id into each report's metadata_json.
- /video-qc/execute/batch — kicks off a BatchVideoQCExecutor thread.
- /video-qc/results/batch/<session_id> — batch summary card, per-file
  list (filename, score, status, view/download), ZIP download link.
  Reuses results.html with is_batch flag.
- /video-qc/report/<id>/download, /video-qc/report/batch/<id>/download
  (ZIP), /video-qc/report/batch/<id> DELETE.

Changed:
- VideoQCExecutor accepts batch_id; writes it into metadata when set.
- /video-qc/upload accepts multi-file (request.files.getlist('files'))
  with single-file fallback; returns is_batch/filenames/file_count.
- Upload template: drag-and-drop list UI (same pattern as HM QC upload).
- Configure template: shows file count + list, swaps button text and
  POST endpoint based on file_count; redirects to results/batch when
  batch, results when single.
- Video QC index uses QCReport.get_recent_grouped to render "Batch
  Reports" (collapsible per-batch table) + "Individual Reports".

Post-run destinations:
- 1 file -> /video-qc/results/<session_id> (unchanged)
- N files -> /video-qc/results/batch/<session_id> (batch summary +
  list of reports from the run)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 09:58:46 +02:00
..
campaigns Split input/output token tracking; refresh provider pricing table 2026-04-22 14:40:13 +02:00
hm_qc Batch naming, delete batch, consistent results view 2026-04-16 16:38:25 +02:00
printer_check v2.2.0: Gemini video, batch grouping, thumbnails, speed, price fix, printer check 2026-04-16 13:56:07 +02:00
reporting Fix Video QC crash and Reporting history dashboard 2026-04-23 09:34:22 +02:00
usage Split input/output token tracking; refresh provider pricing table 2026-04-22 14:40:13 +02:00
video_master Split input/output token tracking; refresh provider pricing table 2026-04-22 14:40:13 +02:00
video_qc Video QC: multi-file batch upload & processing 2026-04-23 09:58:46 +02:00
__init__.py Add modular architecture, core framework, and web UI 2026-02-25 11:39:04 +02:00