#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Dump SEMUA jadwal Repliz + hitung URL terpakai per akun Threads & global (semua akun/platform).
Output: /tmp/repliz_all_20261005.json, /tmp/used_global_20261005.json
"""
import sys, json, re, time
from urllib.parse import urlparse
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client, ACC

def norm(u):
    u = u.strip().rstrip(").,;\"'")
    p = urlparse(u)
    return f"{p.netloc.lower().replace('www.','')}{p.path.rstrip('/').lower()}"

c = get_client()
docs = []
for pg in range(1, 200):
    got = None
    for i in range(10):
        try:
            got = c.get_schedules(page=pg, limit=100)
            break
        except Exception as e:
            print(f"  retry p{pg}: {str(e)[:60]}")
            time.sleep(min(30, 3 + 4 * i))
    if got is None:
        raise SystemExit(f"gagal page {pg}")
    b = got.get("docs", [])
    if not b:
        break
    docs += b
    print(f"  page {pg}: +{len(b)} (total {len(docs)})")
    if len(b) < 100:
        break

json.dump(docs, open("/tmp/repliz_all_20261005.json", "w"), ensure_ascii=False)
print("dump docs:", len(docs))
