#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""patch_prompt_threads_korea.py — tambahkan LANE CAROUSEL FOTO KOREA ke prompt
cron `threads-all-harian` (16e1f3f8170d). Backup dulu, tulis balik, cetak ringkas."""
import json, shutil

CRON = "/home/mantapman/.hermes/profiles/atun/cron/jobs.json"
JOB = "16e1f3f8170d"
BAK = CRON + ".bak-20261004d"

BLOK = """
## LANE CAROUSEL FOTO KOREA @ukyhandoko (perintah Bos 4 Okt 2026)

Bos: "Beberapa postingan tiap hari juga sesekali share tentang foto foto di Korea. Pakai carousel
minimal 10 images sekali bahas tentang Korea."

- Slot **09:00 WIB** (aturan album), **1 album setiap 2 hari**, `type=album`, `replies=[]`, caption
  membahas Korea dari sudut fotografer (250-480 char, CTA komentar di ekor, tanpa link, 0 CJK).
- Label: `topic` = `Foto Korea`, `title` = `uky Foto Korea — <tema> <YYYY-MM-DD>`.
- Terpasang 4 album 6/8/10/12 Okt 2026 (`pasang_album_korea_uky.py`, perbaikan
  `perbaiki_album_korea_uky.py`, pilihan lama->baru `perbaiki_album_korea_uky.py`, state
  `album_korea_uky_state.json`) dari stok foto Bos di `openclaw-img/`: `AlbumKorea_*` (Gyeongbokgung),
  `Bukchon_*` (kampung hanok saat hujan), `SeoulHujan_*` (Seoul saat hujan). Semua 1600x1202.
- Kalau menambah album: jangan pakai foto yang sudah dipakai di album Threads sebelumnya, gate 200 di
  KEDUA ingress, dan caption WAJIB cocok isi fotonya (QC pakai contact sheet + vision).
- Sisa stok setelah batch ini sekitar 32 foto (Bukchon 6, SeoulHujan 21, Gyeongbokgung 5) = 3 album lagi.
- Foto boleh sama dengan yang sudah tayang di IG `@_ukyhandoko` (platform beda), tapi JANGAN mengulang
  foto dalam album Threads yang sudah dijadwalkan.
"""

with open(CRON) as f:
    j = json.load(f)

job = next((x for x in j["jobs"] if x.get("id") == JOB), None)
if job is None:
    raise SystemExit(f"job {JOB} tidak ditemukan")

if "LANE CAROUSEL FOTO KOREA" in job["prompt"]:
    print("prompt sudah memuat lane carousel foto Korea — tidak diubah")
    raise SystemExit(0)

shutil.copy2(CRON, BAK)
lama = len(job["prompt"])
job["prompt"] = job["prompt"].rstrip() + "\n" + BLOK

with open(CRON, "w") as f:
    json.dump(j, f, indent=2, ensure_ascii=False)
    f.write("\n")

print(f"backup -> {BAK}")
print(f"prompt {lama} -> {len(job['prompt'])} char · job total {len(j['jobs'])} · "
      f"lane Korea masuk: {'LANE CAROUSEL FOTO KOREA' in job['prompt']}")
