#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Dump jadwal StudioSoft bertopic 'Growth ss' (+ yang judulnya Growth ss) untuk pelabelan ulang."""
import json
from repliz_client import get_client


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()
    rows = []
    for x in semua(c):
        t = (x.get("topic") or "").lower()
        ju = (x.get("title") or "").lower()
        if "growth ss" in t or "growth ss" in ju:
            rows.append(x)
    print("jadwal 'Growth ss':", len(rows))
    out = []
    for x in sorted(rows, key=lambda z: z.get("scheduleAt") or ""):
        print(f"\n### {x.get('_id')} | akun={(x.get('account') or {}).get('name')} "
              f"{(x.get('scheduleAt') or '')[:16]} {x.get('status')} type={x.get('type')} "
              f"title={x.get('title')!r}")
        print((x.get("description") or "").replace("\n", " ⏎ "))
        out.append({"id": x.get("_id"), "at": x.get("scheduleAt"), "status": x.get("status"),
                    "text": x.get("description") or ""})
    json.dump(out, open("label_ulang_ss_bahan.json", "w"), ensure_ascii=False, indent=1)


if __name__ == "__main__":
    main()
