#!/usr/bin/env python3

import requests
import json
from pathlib import Path

API = "https://api.sweet.tv/TvService/OpenStream.json"

CID = 3884
EPG_ID = 924787787

# ============================================================
# ACCESS TOKEN
# ============================================================

ACCESS_TOKEN = Path(
    "/opt/epg/token.txt"
).read_text(
    encoding="utf-8"
).strip()

DEVICE_ID = "95aaf03b-f372-49c1-8f90-ea86a23b4687"

# ============================================================
# USER AGENT
# ============================================================

USER_AGENT = (
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
    "AppleWebKit/537.36 (KHTML, like Gecko) "
    "Chrome/151.0.0.0 Safari/537.36 Edg/151.0.0.0"
)

# ============================================================
# SESSION
# ============================================================

session = requests.Session()

headers = {
    "User-Agent": USER_AGENT,
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "sk,en;q=0.9",
    "Content-Type": "application/json",
    "Origin": "https://sweet.tv",
    "Referer": "https://sweet.tv/",
    "X-Accept-Language": "sk",
    "X-Device": "1;22;40;2;9.0.96",
    "X-Device-Id": DEVICE_ID,
    "Authorization": f"Bearer {ACCESS_TOKEN}",
}

# ============================================================
# REQUEST
# ============================================================

payload = {
    "channel_id": CID,
    "epg_id": EPG_ID
}

print("TOKEN:", "NAČÍTANÝ" if ACCESS_TOKEN else "CHÝBA")
print("DEVICE ID:", DEVICE_ID)

print()
print("REQUEST")
print("=" * 60)
print(json.dumps(payload, indent=2))

response = session.post(
    API,
    headers=headers,
    json=payload,
    timeout=20
)

print()
print("HTTP:", response.status_code)

print("RESPONSE")
print("=" * 60)

try:
    data = response.json()
    print(json.dumps(data, indent=2, ensure_ascii=False))
except Exception:
    print(response.text)