#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Atur tayang carousel DAS: geser 9 Okt -> 10 Okt (ritme 3 hari) + cek slot.

Ritme yang dipakai: carousel DAS tiap 3 hari, jam 09:00 WIB, di Threads + Facebook.
  7 Okt (kampas) · 10 Okt (salah paham) · 13 Okt (sebelum jalan jauh) · 16 Okt (matic & CVT)

Pakai: python3 atur_tayang_das.py [--go]
"""
import sys, json, urllib.parse, urllib.request

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

THREADS = "6a39e461c5ff4ce3a3233e09"
FB = "6a3b41e1c5ff4ce3a327543e"
LAMA = "2026-10-09T02:00:00.000Z"
BARU = "2026-10-10T02:00:00.000Z"
go = "--go" in sys.argv

c = get_client()
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.loads(r.read().decode())
    b = d.get("docs") or []
    docs += b
    if not b or page * 100 >= (d.get("totalDocs") or 0):
        break
    page += 1

target = [x for x in docs if (x.get("account") or {}).get("_id") in (THREADS, FB)
          and x.get("status") == "pending" and x.get("scheduleAt") == LAMA
          and any("das_car_paham" in (m.get("url") or "") for m in (x.get("medias") or []))]

print(f"jadwal paham 9 Okt yang ketemu: {len(target)}")
for x in target:
    ket = "Threads" if (x.get("account") or {}).get("_id") == THREADS else "Facebook"
    print(f"  {ket} | {x.get('_id')} | {x.get('scheduleAt')} -> {BARU}")
    if not go:
        continue
    c.update_schedule(x["_id"], {"scheduleAt": BARU})
    b2 = c.get_schedule(x["_id"])
    bb = b2.get("data", b2) if isinstance(b2, dict) else b2
    ok = bb.get("status") == "pending" and bb.get("scheduleAt") == BARU
    print(f"     -> {'✅ OK' if ok else '❌'} status={bb.get('status')} scheduleAt={bb.get('scheduleAt')}")
