#!/usr/bin/env python3
"""
Debug YouTube scraper to get actual videos from the Videos tab.
"""

import os
import sys
from pathlib import Path
from dotenv import load_dotenv
import yt_dlp

# Load environment variables
load_dotenv()

def debug_youtube_videos():
    """Debug YouTube videos from the main Videos tab."""
    
    # Use the direct playlist URL for the Videos tab
    videos_url = "https://www.youtube.com/@HVACKnowItAll/videos"
    print(f"Testing videos tab: {videos_url}")
    
    # Options to get individual videos
    ydl_opts = {
        'quiet': False,
        'extract_flat': True,
        'playlistend': 20,  # Get first 20 videos
        'ignoreerrors': True,
    }
    
    try:
        with yt_dlp.YoutubeDL(ydl_opts) as ydl:
            print("Extracting videos from Videos tab...")
            videos_info = ydl.extract_info(videos_url, download=False)
            
            print(f"\nVideos info keys: {list(videos_info.keys())}")
            
            if 'entries' in videos_info:
                videos = [v for v in videos_info['entries'] if v is not None]
                print(f"\n✅ Found {len(videos)} actual videos")
                
                # Show video details
                for i, video in enumerate(videos[:10]):
                    title = video.get('title', 'N/A')
                    video_id = video.get('id', 'N/A')
                    duration = video.get('duration', 'N/A')
                    print(f"  {i+1}. {title}")
                    print(f"      ID: {video_id}, Duration: {duration}s")
                
                if len(videos) > 10:
                    print(f"  ... and {len(videos) - 10} more videos")
                    
            else:
                print("❌ No 'entries' key found")
                
    except Exception as e:
        print(f"❌ Error: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    debug_youtube_videos()