#!/usr/bin/env python3
"""Check Supabase video columns and specific videos."""

import os
import sys
import json

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

from dotenv import load_dotenv
load_dotenv()

from supabase import create_client

sb = create_client(os.environ['URL'], os.environ['SUPABASE_ADMIN'])

# Check a sample COMPLETED video
print('=' * 70)
print('SAMPLE COMPLETED VIDEO - ALL COLUMNS')
print('=' * 70)
result = sb.table('videos').select('*').eq('status', 'COMPLETED').limit(1).execute()
if result.data:
    v = result.data[0]
    for key, val in sorted(v.items()):
        if val is not None and val != '' and val != {} and val != []:
            val_str = str(val)[:100] if len(str(val)) > 100 else str(val)
            print(f'  {key:30}: {val_str}')
else:
    print('No COMPLETED videos found')

# Check specific videos requested by user
print()
print('=' * 70)
print('REQUESTED VIDEOS STATUS')
print('=' * 70)
requested = ['zfnG34iSpbU', 'IDzfs62WnD8', 'fHBR1j1kJ1I']
for vid in requested:
    result = sb.table('videos').select('*').eq('youtube_id', vid).execute()
    if result.data:
        v = result.data[0]
        print(f'\n{vid}:')
        print(f'  status: {v.get("status")}')
        print(f'  r2_tar_key: {v.get("r2_tar_key", "N/A")}')
        print(f'  usable_percentage: {v.get("usable_percentage", "N/A")}')
        print(f'  num_speakers: {v.get("num_speakers", "N/A")}')
        print(f'  total_segments: {v.get("total_segments", "N/A")}')
        print(f'  audio_duration_sec: {v.get("audio_duration_sec", "N/A")}')
    else:
        print(f'\n{vid}: NOT FOUND in Supabase')

# Check local files for these videos
print()
print('=' * 70)
print('LOCAL FILES FOR REQUESTED VIDEOS')
print('=' * 70)
import os
for vid in requested:
    tar_path = f'./output/{vid}.tar'
    dir_path = f'./output/{vid}'
    if os.path.exists(tar_path):
        size_mb = os.path.getsize(tar_path) / (1024*1024)
        print(f'{vid}: TAR exists ({size_mb:.1f}MB)')
    elif os.path.exists(dir_path):
        print(f'{vid}: Directory exists (no TAR)')
    else:
        print(f'{vid}: NOT FOUND locally')
