import requests
from datetime import datetime, timedelta
from zoneinfo import ZoneInfo

ROME_TZ = ZoneInfo("Europe/Rome")
now = datetime.now(ROME_TZ)
start_dt = datetime(now.year, now.month, now.day, 0, 0, 0, tzinfo=ROME_TZ)
end_dt = start_dt + timedelta(hours=28)

epoch_start = int(start_dt.timestamp() * 1000)
epoch_end = int(end_dt.timestamp() * 1000)

url = f"https://api-ott-prod-fe.mediaset.net/PROD/play/feed/allListingFeedEpg/v2.0?byListingTime={epoch_start}~{epoch_end}&byCallSign=C5"
resp = requests.get(url)
print("Status:", resp.status_code)
if resp.status_code == 200:
    data = resp.json()
    entries = data.get("response", {}).get("entries", [])
    if entries:
        listings = entries[0].get("listings", [])
        if listings:
            print(f"Got {len(listings)} listings. Last one:")
            last = listings[-1]
            end_ms = last.get("endTime")
            end_iso = datetime.fromtimestamp(end_ms/1000, tz=ROME_TZ).isoformat()
            print(last.get("mediasetlisting$epgTitle"), end_iso)
