#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Variasikan jumlah anggapan di seri carousel TS Law "Mitos atau Fakta".

Semua deck lama berjumlah 8 (cover selalu "8 anggapan...", bos minta lebih random).
Deck baru: hitungan berbeda per seri. Item yang dibuang TIDAK dihapus dari arsip deck asli,
deck asli tetap utuh; hasil baru ditulis ke deck_tslaw_<seri>_v2.json (tanpa menyentuh
openclaw-img sampai tahap render dijalankan terpisah).

Jumlah akhir (per 12 Okt 2026):
  mitos10    (14 Okt)  8 -> 10  (2 item baru ditambahkan)
  mitosproses(24 Okt)  8 -> 7   (buang item 4)
  mitoshak   (26 Okt)  8 -> 6   (buang item 3, 7)
  mitoskerja (29 Okt)  8 -> 5   (sisakan 1,3,5,6,8)
  mitosbukti (31 Okt)  8 -> 6   (sisakan 1,2,4,5,6,7)
  mitostanah (2 Nov)   8 -> 7   (buang item 3)
"""
import json
import os

WS = "/home/mantapman/.hermes/profiles/atun/workspace"

# item baru (hanya dipakai deck mitos10) — fakta dijaga tetap akurat & umum, gaya mengikuti item lama
BARU = {
    "mitos10": [
        {
            "mitos": "\"Tidak bisa bayar utang, langsung masuk penjara.\"",
            "fakta": ("Utang-piutang termasuk perkara perdata. Tidak ada pidana penjara hanya karena "
                      "seseorang tidak mampu membayar.\n\nPidana baru masuk kalau ada unsur lain seperti "
                      "penipuan atau penggelapan. Jalur penagihan perdatanya: somasi, gugatan, sampai "
                      "permohonan sita ke pengadilan."),
        },
        {
            "mitos": "\"Semua sengketa harus diselesaikan lewat pengadilan.\"",
            "fakta": ("Tidak harus. Banyak sengketa selesai di jalur luar pengadilan: negosiasi, mediasi, "
                      "atau arbitrase.\n\nKalau perjanjian memuat klausul arbitrase, jalur pengadilan justru "
                      "tertutup kecuali untuk hal tertentu. Yang penting jalurnya dipilih sejak awal, "
                      "bukan setelah perkara berjalan."),
        },
    ],
}

# seri: (file deck lama, jumlah target, daftar nomor item yang DIPAKAI dari deck lama)
RENCANA = {
    "mitos10":    ("deck_tslaw_mitos10.json",    10, [1, 2, 3, 4, 5, 6, 7, 8]),
    "mitosproses": ("deck_tslaw_mitosproses.json", 7, [1, 2, 3, 5, 6, 7, 8]),
    "mitoshak":   ("deck_tslaw_mitoshak.json",    6, [1, 2, 4, 5, 6, 8]),
    "mitoskerja": ("deck_tslaw_mitoskerja.json",  5, [1, 3, 5, 6, 8]),
    "mitosbukti": ("deck_tslaw_mitosbukti.json",  6, [1, 2, 4, 5, 6, 7]),
    "mitostanah": ("deck_tslaw_mitostanah.json",  7, [1, 2, 4, 5, 6, 7, 8]),
}

KATA = {5: "Lima", 6: "Enam", 7: "Tujuh", 8: "Delapan", 9: "Sembilan", 10: "Sepuluh"}


def ganti_angka_cover(headline, n):
    baris = headline.split("\n")
    for i, b in enumerate(baris):
        if "anggapan" in b:
            baris[i] = f"{n} anggapan"
            break
    return "\n".join(baris)


def rapikan_cta(headline):
    return (headline.replace("tulis di kolom\nkomentar ya", "Tulis di kolom\nkomentar ya.")
            .replace("tulis di kolom komentar ya", "Tulis di kolom komentar ya."))


def main():
    ringkas = {}
    for seri, (berkas, target, pakai) in RENCANA.items():
        lama = json.load(open(os.path.join(WS, berkas)))
        cover = next(s for s in lama if s["jenis"] == "cover")
        cta = next(s for s in lama if s["jenis"] == "cta")
        items = [s for s in lama if s["jenis"] == "mitos"]
        assert len(items) == 8, (seri, len(items))

        dipakai = [items[i - 1] for i in pakai]
        for b in BARU.get(seri, []):
            dipakai.append({"jenis": "mitos", "label_mitos": "", "label_fakta": "FAKTANYA",
                            "mitos": b["mitos"], "fakta": b["fakta"]})
        assert len(dipakai) == target, (seri, len(dipakai), target)

        for i, s in enumerate(dipakai, 1):
            s["label_mitos"] = f"MITOS {i}"

        cover = dict(cover)
        cover["headline"] = ganti_angka_cover(cover["headline"], target)
        cta = dict(cta)
        cta["headline"] = rapikan_cta(cta["headline"])

        deck = [cover] + dipakai + [cta]
        keluar = os.path.join(WS, f"deck_tslaw_{seri}_v2.json")
        with open(keluar, "w", encoding="utf-8") as f:
            json.dump(deck, f, ensure_ascii=False, indent=2)
        ringkas[seri] = dict(file=os.path.basename(keluar), jumlah_slide=len(deck),
                             jumlah_mitos=target, cover=cover["headline"].replace("\n", " "),
                             kata=KATA[target])
        print(f"✅ {seri:12} {len(lama)} -> {len(deck)} slide ({target} mitos) · {keluar}")

    with open("/tmp/tslaw_v2_ringkas.json", "w", encoding="utf-8") as f:
        json.dump(ringkas, f, ensure_ascii=False, indent=2)
    print("\nringkasan -> /tmp/tslaw_v2_ringkas.json")


if __name__ == "__main__":
    main()
