#!/usr/bin/env python3

import tidalapi
import json
import time
import os

session = tidalapi.Session()

# login_oauth devuelve: (device_auth, login_status_future)
device_auth, login_status = session.login_oauth()

print(f"[INFO] Abre en tu navegador: {device_auth.verification_uri_complete}")
print(f"[INFO] Código: {device_auth.user_code} — expira en {device_auth.expires_in} segundos")
print("[INFO] Esperando confirmación...")

# ⏳ Bloquear hasta que completes el login
login_status.result()

# ✅ Guardar sesión en ~/.tidalapi-session.json
session_data = {
    "session_id": session.session_id,
    "country_code": session.country_code,
    "user_id": session.user.id
}

path = os.path.expanduser("~/.tidalapi-session.json")
with open(path, "w") as f:
    json.dump(session_data, f)

print(f"[✅] Sesión guardada correctamente en {path}")

