From c32302ad2fd424763cd3dac3aaba6e84e62e2d1b Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Tue, 3 Mar 2026 11:22:59 +0000 Subject: [PATCH] chore: add debug script to check job placements and render order Co-Authored-By: Claude Opus 4.6 --- scripts/check_job.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 scripts/check_job.py diff --git a/scripts/check_job.py b/scripts/check_job.py new file mode 100644 index 0000000..f49927d --- /dev/null +++ b/scripts/check_job.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +"""Check job edit state and placements for debugging render order issues.""" +import sys +import os +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "backend")) +from dotenv import load_dotenv +load_dotenv(os.path.join(os.path.dirname(__file__), "..", "backend", ".env")) + +from pymongo import MongoClient +from app.core.config import settings + +db = MongoClient(settings.mongodb_uri)[settings.mongodb_db] + +# Both problem jobs +job_ids = [ + "69a0675634e072d880ef7205", # de-v1fv (render not updating) + "69a00adb3c66801f7d23fe5b", # de-v2fv (out of order: 0 1 2 3 4 5 8 6 9 10 7) +] + +for job_id in job_ids: + job = db.jobs.find_one({"_id": job_id}, {"title": 1, "outputs": 1, "status": 1}) + if not job: + print(f"Job {job_id} not found") + continue + + print("=" * 70) + print(f"Job: {job_id}") + print(f"Title: {job.get('title')}") + print(f"Status: {job.get('status')}") + + outputs = job.get("outputs", {}) + for lang, data in outputs.items(): + print(f"\nLanguage: {lang}") + es = data.get("accessible_video_edit_state", {}) + placements = es.get("placements", []) + print(f"Placements ({len(placements)}):") + for p in placements: + cue = p.get("ad_cue_index", "?") + pp = p.get("pause_point", 0) + text = p.get("ad_text", "")[:60] + print(f" cue={cue:>2} pause_point={pp:>8.3f} {text}") + + print()