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

ROME_TZ = ZoneInfo('Europe/Rome')
start_dt = datetime.now(ROME_TZ) - timedelta(hours=4)
epoch_start = int(start_dt.timestamp() * 1000)
epoch_end = int((start_dt + timedelta(days=1)).timestamp() * 1000)

print("=== MEDIASET ===")
m_url = f"https://api-ott-prod-fe.mediaset.net/PROD/play/feed/allListingFeedEpg/v2.0?byListingTime={epoch_start}~{epoch_end}&byCallSign=I1"
m_res = requests.get(m_url, headers={'User-Agent': 'Mozilla/5.0'}).json()
listings = m_res.get('response', {}).get('entries', [])[0].get('listings', [])[:3]
for l in listings:
    print(l.get('mediasetlisting$epgTitle'))
    print("Thumbnails:", json.dumps(l.get('program', {}).get('thumbnails', {}), indent=2))
    print("---")

print("=== SKY ===")
today_str = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
tomorrow_str = (datetime.utcnow() + timedelta(days=1)).strftime("%Y-%m-%dT%H:%M:%SZ")
s_url = f"https://apid.sky.it/gtv/v1/events?from={today_str}&to={tomorrow_str}&pageSize=10&pageNum=0&env=DTH&channels=9115"
s_res = requests.get(s_url, headers={'User-Agent': 'Mozilla/5.0'}).json()
events = s_res.get('events', [])[:3]
for e in events:
    print(e.get('eventTitle'))
    print("ImagesMap:", json.dumps(e.get('content', {}).get('imagesMap', []), indent=2))
    print("eventImage:", e.get('eventImage'))
    print("---")
