#!/usr/bin/env python3
"""Force playlist update to download all files."""

import json
import sys
import os

# Add src directory to path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))

from get_playlists_v2 import update_playlist_if_needed

# Load config
config_file = 'config/app_config.json'
with open(config_file, 'r') as f:
    config = json.load(f)

print("=" * 80)
print("FORCING PLAYLIST UPDATE")
print("=" * 80)

playlist_dir = 'playlists'
media_dir = 'media'

print(f"\nConfiguration:")
print(f"  Playlist dir: {playlist_dir}")
print(f"  Media dir: {media_dir}")

print("\n" + "=" * 80)
print("Updating playlist...")
print("=" * 80 + "\n")

result = update_playlist_if_needed(config, playlist_dir, media_dir)

if result:
    print("\n" + "=" * 80)
    print("SUCCESS!")
    print("=" * 80)
    print(f"✓ Playlist updated to: {result}")
    
    # Check media directory
    import os
    media_files = sorted([f for f in os.listdir(media_dir) if not f.startswith('.')])
    print(f"\n✓ Media files downloaded ({len(media_files)}):")
    for f in media_files:
        size = os.path.getsize(os.path.join(media_dir, f))
        print(f"  - {f} ({size:,} bytes)")
    
else:
    print("\n" + "=" * 80)
    print("FAILED or already up to date")
    print("=" * 80)

print("\n" + "=" * 80)
