#!/usr/bin/env python3
"""Tarikan data 'reach' akun Threads: daftar akun + volume komentar + post sukses."""
import json, sys, collections
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ReplizClient

c = ReplizClient()

# 1. akun
accs = []
for page in range(1, 6):
    d = c.get(f"/public/account?page={page}&limit=100")
    batch = d.get("docs", [])
    accs += batch
    if len(batch) < 100:
        break
print("TOTAL AKUN:", len(accs))
if accs:
    print("FIELDS:", sorted(accs[0].keys()))
threads = [a for a in accs if (a.get("type") or a.get("platform") or "").lower().startswith("thread")]
print("THREADS:", len(threads))
for a in threads:
    print("  ", a.get("_id"), a.get("name"), "|", a.get("username"), "|", {k: v for k, v in a.items() if k not in ("_id", "name", "username")})
json.dump(accs, open("/tmp/reach_accs.json", "w"), ensure_ascii=False, indent=1)

# 2. komentar
cmts = []
for page in range(1, 40):
    d = c.get(f"/public/comment?page={page}&limit=50")
    batch = d.get("docs", [])
    cmts += batch
    if len(batch) < 50:
        break
print("TOTAL KOMENTAR DOCS:", len(cmts))
if cmts:
    print("FIELDS:", sorted(cmts[0].keys()))
json.dump(cmts, open("/tmp/reach_comments.json", "w"), ensure_ascii=False, indent=1)

# 3. jadwal semua
sch = []
for page in range(1, 80):
    d = c.get(f"/public/schedule?page={page}&limit=50")
    batch = d.get("docs", [])
    sch += batch
    if len(batch) < 50:
        break
print("TOTAL JADWAL:", len(sch))
json.dump(sch, open("/tmp/reach_schedules.json", "w"), ensure_ascii=False, indent=1)
