#!/usr/bin/env python3
"""Direct API test to check server playlist."""

import requests
import json

# Try with the saved auth
auth_file = 'src/player_auth.json'
with open(auth_file, 'r') as f:
    auth_data = json.load(f)

server_url = auth_data['server_url']
auth_code = auth_data['auth_code']

print("=" * 80)
print("DIRECT API TEST")
print("=" * 80)
print(f"Server: {server_url}")
print(f"Auth code: {auth_code[:20]}...")
print()

# Try to get playlist
try:
    url = f"{server_url}/api/player/playlist"
    headers = {
        'Authorization': f'Bearer {auth_code}'
    }
    
    print(f"Fetching: {url}")
    response = requests.get(url, headers=headers, timeout=10)
    
    print(f"Status: {response.status_code}")
    
    if response.status_code == 200:
        data = response.json()
        print(f"\nPlaylist version: {data.get('playlist_version', 'N/A')}")
        print(f"Number of items: {len(data.get('playlist', []))}")
        
        print("\nPlaylist items:")
        for idx, item in enumerate(data.get('playlist', []), 1):
            print(f"\n  {idx}. {item.get('file_name', 'N/A')}")
            print(f"     URL: {item.get('url', 'N/A')}")
            print(f"     Duration: {item.get('duration', 'N/A')}s")
        
        # Save full response
        with open('server_playlist_full.json', 'w') as f:
            json.dump(data, f, indent=2)
        print(f"\nFull response saved to: server_playlist_full.json")
    else:
        print(f"Error: {response.text}")
        
except Exception as e:
    print(f"Error: {e}")

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