#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Perbaiki caption reel IG SS 23:00 (30 Sep 2026) — ganti pembuka "Slide ini ..." jadi
"Rangkuman tips SEO lokal Surabaya ..." supaya cocok untuk format reel, bukan carousel.
PUT /public/schedule/<id>, lalu verifikasi baca balik.
"""
import json
import sys

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

ID = "6abd2cc31733078385f3b068"
NEW = (
    "Rangkuman tips SEO lokal Surabaya yang sering kami bagikan ke klien. 📊\n\n"
    "Poin pentingnya: mulai dari yang paling dekat dengan pelanggan, ukur hasilnya, lalu "
    "jaga konsistensi tiap minggu.\n\n"
    "Kalau dijabarkan untuk bisnis di Surabaya: kata kunci plus nama kota, Google Business Profile "
    "yang aktif, ulasan warga sekitar, dan konsistensi nama-alamat-telepon di semua platform itu "
    "yang bikin bisnis Anda muncul saat orang mengetik \"dekat saya\".\n\n"
    "Versi lengkapnya ada di artikel kami: "
    "https://studiosoft.id/tips-seo-digital-marketing-surabaya-optimasi-local-untuk-klinik-dan-bengkel-lokal/\n\n"
    "Bagian mana yang paling relevan buat bisnismu? Cerita di komentar! 👇\n\n"
    "#studiosoft #seolokal #digitalmarketing #bisnissurabaya #umkm"
)


def main():
    apply = "--apply" in sys.argv
    c = get_client()
    d = c.get_schedule(ID)
    d = d.get("data") or d
    if isinstance(d, dict) and "docs" in d:
        d = d["docs"][0]
    print("sebelum:", d.get("status"), d.get("type"), d.get("scheduleAt"), len(d.get("description") or ""))
    payload = {
        "accountId": d.get("accountId"),
        "title": d.get("title") or "",
        "description": NEW,
        "topic": d.get("topic") or "",
        "type": d.get("type") or "video",
        "medias": d.get("medias") or [],
        "scheduleAt": d.get("scheduleAt"),
        "replies": [],
        "additionalInfo": d.get("additionalInfo") or {"isShareToFeed": True},
    }
    print("caption baru:", len(NEW), "char")
    if not apply:
        print("(dry-run — pakai --apply)")
        return
    c._request("PUT", f"/public/schedule/{ID}", payload)
    d2 = c.get_schedule(ID)
    d2 = d2.get("data") or d2
    if isinstance(d2, dict) and "docs" in d2:
        d2 = d2["docs"][0]
    cap = d2.get("description") or ""
    print("sesudah:", d2.get("status"), d2.get("type"), d2.get("scheduleAt"), len(cap))
    print("pembuka:", json.dumps(cap.split("\n")[0], ensure_ascii=False))
    print("media:", (d2.get("medias") or [{}])[0].get("url", "").split("/")[-1],
          "| isShareToFeed:", (d2.get("additionalInfo") or {}).get("isShareToFeed"),
          "| replies:", len(d2.get("replies") or []))


if __name__ == "__main__":
    main()
