#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""perbaiki_caption_retainer_26okt.py — perbaiki caption carousel 26 Okt 2026.

Masalah: caption lama dibuka "Model ini bukan sekadar soal cara bayar; ..." (menggantung,
tanpa menyebut apa yang dimaksud) dan memakai tanda kutip melengkung ("rawat lalu tumbuh")
yang dilarang aturan nada. Paragraf definisi justru tidak dipakai.

Perbaikan: caption baru dibuka dengan definisi dari artikel, kutip lurus, isi tetap dari
artikel (bukan karangan). PUT payload utuh lewat repliz_client.update_schedule, lalu baca balik.
"""
import sys

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
import repliz_client as rc  # noqa: E402

SID = "6ac1031c1733078385ccb12a"
LINK = "https://studiosoft.id/retainer-digital-marketing/"

CAPTION = (
    "Retainer digital marketing adalah model kerja sama bulanan dengan penyedia jasa "
    "pemasaran digital. Anda tidak membayar per proyek, tapi bermitra jangka panjang "
    "dengan lingkup pekerjaan yang jelas.\n\n"
    "Artikel ini menjelaskan kapan model retainer masuk akal untuk bisnis Anda, apa saja "
    "yang harus ada di dalamnya, dan bagaimana menghitung nilai investasinya. Banyak "
    "pemilik bisnis terbiasa dengan pola proyek: bayar sekali, selesai, lalu menunggu "
    "hasil. Untuk pemasaran digital pola itu kurang cocok, karena algoritma berubah, "
    "perilaku pencarian bergeser, dan kompetitor terus bergerak.\n\n"
    f"Selengkapnya di {LINK}\n\n"
    "Menurut Anda, bagian mana yang paling relevan untuk bisnis Anda? Tulis di komentar.\n\n"
    "#retainer #digitalmarketing #seo #studiosoft"
)


def main():
    c = rc.get_client()
    lama = c.get_schedule(SID)
    print(f"sebelum: {len(lama.get('description') or '')} char | status {lama.get('status')}")
    assert '“' not in CAPTION and '”' not in CAPTION
    print(f"caption baru: {len(CAPTION)} char")
    c.update_schedule(SID, {"description": CAPTION})
    baru = c.get_schedule(SID)
    d = baru.get("description") or ""
    print(f"sesudah : {len(d)} char | status {baru.get('status')} | scheduleAt {baru.get('scheduleAt')}")
    print(f"tipe {baru.get('type')} | medias {len(baru.get('medias') or [])} | akun {(baru.get('account') or {}).get('name')}")
    print("cocok   :", "✅" if d == CAPTION else "❌ beda")
    print("kutip melengkung:", "ADA" if ('“' in d or '”' in d) else "tidak ada")
    print("link    :", "✅" if LINK in d else "❌")


if __name__ == "__main__":
    main()
