#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Cari jadwal yang memakai satu file media (semua akun, semua status)."""
import sys, json, urllib.parse, urllib.request

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import HEADERS, BASE

cari = sys.argv[1] if len(sys.argv) > 1 else "tslaw_mitos_fakta_07"
docs, page = [], 1
while True:
    q = urllib.parse.urlencode({"page": page, "limit": 100})
    req = urllib.request.Request(f"{BASE}/public/schedule?{q}", headers=HEADERS)
    with urllib.request.urlopen(req, timeout=60) as r:
        d = json.load(r)
    docs += d.get("docs", d.get("data", []))
    if not d.get("hasNextPage") or not docs:
        break
    page += 1

found = 0
for s in docs:
    blob = json.dumps(s)
    if cari.lower() in blob.lower():
        found += 1
        med = [m.get("url", "").split("/")[-1] for m in (s.get("medias") or [])]
        print(f"{s.get('_id') or s.get('id')} | acc={s.get('accountId')} | {s.get('scheduleAt')} | "
              f"{s.get('type')} | {s.get('status') or s.get('state')} | {s.get('title')} | {med}")
print(f"\n{found} jadwal memuat '{cari}' (dari {len(docs)} jadwal)")
