#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Cek topic/label pada seluruh jadwal Threads @ukyhandoko (dan SS) di Repliz."""
import json, collections
from repliz_client import get_client

UKY = "6a334e89c5ff4ce3a3225a48"


def semua(c):
    docs, page = [], 1
    while True:
        r = c.get_schedules(page=page, limit=100)
        d = r.get("docs") or []
        docs.extend(d)
        if not d or len(docs) >= (r.get("totalDocs") or 0) or page > 60:
            break
        page += 1
    return docs


def main():
    c = get_client()
    d = semua(c)
    print("total jadwal:", len(d))
    uky = [x for x in d if (x.get("accountId") or (x.get("account") or {}).get("_id")) == UKY]
    print("jadwal uky:", len(uyk))
    ctr = collections.Counter((x.get("topic") or "(kosong)") for x in uky)
    print("\n-- sebaran topic uky --")
    for k, v in ctr.most_common():
        print(f"{v:5d}  {k}")

    print("\n-- jadwal uky bertopic mengandung 'growth' --")
    n = 0
    for x in sorted(uyk, key=lambda z: z.get("scheduleAt") or ""):
        t = (x.get("topic") or "").lower()
        if "growth" in t:
            n += 1
            print(f"{(x.get('scheduleAt') or '')[:16]}  status={x.get('status'):8s} "
                  f"topic={x.get('topic')!r} title={x.get('title')!r} type={x.get('type')} "
                  f"id={x.get('_id')}")
    print("jumlah:", n)


if __name__ == "__main__":
    main()
