import sys
sys.path.append(r"c:\Users\Claud\Documents\ScriptNowTest\dazn")
import json
from dazn import request_playback_info, extract_widevine_pssh, get_keys_wvd, build_playback_url
import uuid

with open(r"c:\Users\Claud\Documents\ScriptNowTest\dazn\dazn_config.json", "r") as f:
    config = json.load(f)

# we will use the main token
token = config["dazn"]["token"]
from dazn import decode_jwt_payload
payload = decode_jwt_payload(token)

print("Main token device:", payload.get("deviceId"))

channel = {"id": "1lei1xgh5hg3a17js6ky5ieprb"} # An NFL game (e.g., from earlier logs) or DAZN 1?
# Let's test DAZN 1 first
channel = {"id": "4hqcjx5zv91f1bdx71io4bnrl", "name": "DAZN 1"}
playback_url = build_playback_url(channel, config, "test_viewer")
p_data, err = request_playback_info(playback_url, token, config, None)
if err:
    print("Playback Error:", err)
    sys.exit()

la_url = p_data["PlaybackDetails"][0]["LaUrl"]
print("la_url DAZN 1 ok")

# Now let's try Jaguars @ Bengals (maybe another ID)
channel2 = {"id": "1lei1xgh5hg3a17js6ky5ieprb", "name": "NFL Game"} # arbitrary ID
playback_url2 = build_playback_url(channel2, config, "test_viewer")
p_data2, err2 = request_playback_info(playback_url2, token, config, None)
if err2:
    print("Playback Error 2:", err2)
else:
    la_url2 = p_data2["PlaybackDetails"][0]["LaUrl"]
    print("la_url NFL ok")
    kid, key, drm_err = get_keys_wvd("AAAAQ3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAkiAAAAAAoACg==", channel2["id"], la_url2, config, payload, None, None)
    print("NFL DRM Kid:", kid)
    print("NFL DRM Err:", drm_err)
