#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Riwayat jadwal 1 akun Repliz (semua tanggal) — untuk cek kesehatan akun LinkedIn TS Law."""
import json
import sys
import urllib.parse
import urllib.request

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

ACC = sys.argv[1]
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

milik = [s for s in docs if s.get("accountId") == ACC]
milik.sort(key=lambda s: str(s.get("scheduleAt")))
print(f"jadwal akun {ACC}: {len(milik)} item")
for s in milik:
    med = (s.get("medias") or [{}])[0]
    print(f"{s.get('scheduleAt')} | {str(s.get('type')):6s} | {str(s.get('status') or s.get('state')):9s} | "
          f"{(med.get('url') or '-').split('/')[-1][:45]:45s} | {str(s.get('title'))[:40]}")
    desc = (s.get("description") or "").replace("\n", " ")[:90]
    print(f"          {desc}")
