#!/usr/bin/env python3
"""
Test script to verify the enhanced logging without running the full GUI
"""
import os
import json

def simulate_playback_check():
    """Simulate the playback logic to see what would happen"""
    
    base_dir = os.path.dirname(os.path.abspath(__file__))
    media_dir = os.path.join(base_dir, 'media')
    playlists_dir = os.path.join(base_dir, 'playlists')
    
    # Supported extensions
    VIDEO_EXTENSIONS = ['.mp4', '.avi', '.mkv', '.mov', '.webm']
    IMAGE_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.bmp', '.gif']
    
    # Load playlist
    playlist_file = os.path.join(playlists_dir, 'server_playlist_v8.json')
    with open(playlist_file, 'r') as f:
        data = json.load(f)
    
    playlist = data.get('playlist', [])
    
    print("=" * 80)
    print("SIMULATING PLAYBACK SEQUENCE")
    print("=" * 80)
    
    for idx, media_item in enumerate(playlist):
        file_name = media_item.get('file_name', '')
        duration = media_item.get('duration', 10)
        
        print(f"\n[STEP {idx + 1}] ===== Playing item {idx + 1}/{len(playlist)} =====")
        print(f"  File: {file_name}")
        print(f"  Duration: {duration}s")
        
        # Construct path
        media_path = os.path.join(media_dir, file_name)
        print(f"  Full path: {media_path}")
        
        # Check existence
        if not os.path.exists(media_path):
            print(f"  \u274c Media file not found: {media_path}")
            print(f"  ACTION: Skipping to next media...")
            continue
        
        file_size = os.path.getsize(media_path)
        print(f"  \u2713 File exists (size: {file_size:,} bytes)")
        
        # Check extension
        file_extension = os.path.splitext(file_name)[1].lower()
        print(f"  Extension: {file_extension}")
        
        if file_extension in VIDEO_EXTENSIONS:
            print(f"  Media type: VIDEO")
            print(f"  ACTION: play_video('{media_path}', {duration})")
            print(f"  - Creating Video widget...")
            print(f"  - Adding to content area...")
            print(f"  - Scheduling next media in {duration}s")
            print(f"  \u2713 Media started successfully")
        elif file_extension in IMAGE_EXTENSIONS:
            print(f"  Media type: IMAGE")
            print(f"  ACTION: play_image('{media_path}', {duration})")
            print(f"  - Creating AsyncImage widget...")
            print(f"  - Adding to content area...")
            print(f"  - Scheduling next media in {duration}s")
            print(f"  \u2713 Image displayed successfully")
        else:
            print(f"  \u274c Unsupported media type: {file_extension}")
            print(f"  Supported: .mp4/.avi/.mkv/.mov/.webm/.jpg/.jpeg/.png/.bmp/.gif")
            print(f"  ACTION: Skipping to next media...")
            continue
        
        print(f"\n  [After {duration}s] Transitioning to next media (was index {idx})")
    
    print("\n" + "=" * 80)
    print("END OF PLAYLIST - Would restart from beginning")
    print("=" * 80)

if __name__ == '__main__':
    simulate_playback_check()
