#!/usr/bin/env python3
"""
Process specific videos and optionally upload to R2.
"""

import os
import sys
import time

sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from dotenv import load_dotenv
load_dotenv()

# Video IDs to process
VIDEO_IDS = ['IDzfs62WnD8', 'fHBR1j1kJ1I']

from supabase import create_client
from src.r2_client import R2Client

sb = create_client(os.environ['URL'], os.environ['SUPABASE_ADMIN'])
r2_source = R2Client(bucket_type='source')

print("=" * 70)
print("CHECKING REQUESTED VIDEOS")
print("=" * 70)

# Check if these videos have source audio in R2
for vid in VIDEO_IDS:
    print(f"\n{vid}:")

    # Check Supabase
    result = sb.table('videos').select('status, source_duration_min, language, title').eq('youtube_id', vid).execute()
    if result.data:
        v = result.data[0]
        print(f"  Supabase: status={v.get('status')}, duration={v.get('source_duration_min')}min, lang={v.get('language')}")
        print(f"  Title: {v.get('title', 'N/A')[:60]}")
    else:
        print(f"  Supabase: NOT FOUND")

    # Check R2 source
    r2_key = f"podcasts/{vid}.webm"
    exists = r2_source.exists(r2_key)
    print(f"  R2 source: {'EXISTS' if exists else 'NOT FOUND'} ({r2_key})")

    # Check local output
    local_tar = f"./output/{vid}.tar"
    local_dir = f"./output/{vid}"
    if os.path.exists(local_tar):
        size_mb = os.path.getsize(local_tar) / (1024*1024)
        print(f"  Local: TAR exists ({size_mb:.1f}MB)")
    elif os.path.exists(local_dir):
        print(f"  Local: Directory exists")
    else:
        print(f"  Local: NOT FOUND")

print("\n" + "=" * 70)
print("To process these videos, run:")
print("  .venv/bin/python massive_process.py --supabase-queue --max-videos 2 --r2-upload --output ./output")
print()
print("Or set them to PENDING first, then run the full pipeline")
print("=" * 70)
