# upload_review.py import cv2 import numpy as np import tempfile from utils import analyze_frame_sequence, make_decision, render_annotated_clip def analyze_uploaded_video(video): cap = cv2.VideoCapture(video) frames = [] while True: ret, frame = cap.read() if not ret: break frames.append(frame) cap.release() if len(frames) == 0: return "Decision pending – insufficient data", "No frames found.", None analysis = analyze_frame_sequence(frames) decision, reason = make_decision(analysis) output_path = tempfile.NamedTemporaryFile(suffix=".mp4", delete=False).name render_annotated_clip(frames, analysis, decision, reason, output_path) return f"FINAL DECISION: {decision}", reason, output_path