#!/usr/bin/env python3
"""Tampilkan isi job cron kandidat (jadwal + teks tugasnya) supaya jelas perlu atau tidak.

Pakai: python3 periksa_job.py                 → lihat kandidat
       python3 periksa_job.py --matikan a b c  → matikan job (cadangan dulu)
"""
import json, shutil, sys, time

BERKAS = "/home/mantapman/.hermes/profiles/atun/cron/jobs.json"
d = json.load(open(BERKAS))
daftar = d if isinstance(d, list) else d.get("jobs", d)
if isinstance(daftar, dict):
    daftar = list(daftar.values())

KANDIDAT = ["multiplatform-cron", "ss-ig-story-check", "threads-growth-autoreply",
            "tslaw-video-materai-check", "tslaw-video-411-check", "tslaw-video-pelakor-check",
            "tslaw-video-tanah-waris-check", "tslaw-video-pmh-check", "tslaw-video-fotografi-check"]


def teks_job(j):
    for k in ("prompt", "task", "message", "instruction", "command", "teks"):
        v = j.get(k)
        if v:
            return str(v)[:260].replace("\n", " ")
    return "(tanpa teks)"


if len(sys.argv) > 1 and sys.argv[1] == "--matikan":
    nama = sys.argv[2:]
    shutil.copy(BERKAS, f"{BERKAS}.bak-{time.strftime('%Y%m%d-%H%M')}")
    n = 0
    for j in daftar:
        if str(j.get("name")) in nama:
            j["enabled"] = False
            n += 1
            print(f"   dimatikan: {j.get('name')}")
    json.dump(d, open(BERKAS, "w"), ensure_ascii=False, indent=1)
    print(f"\n✅ {n} job dimatikan · cadangan jobs.json dibuat")
    sys.exit(0)

print(f"{'job':<32}{'jadwal':<18}{'aktif':<7}teks tugas")
for j in daftar:
    if str(j.get("name")) in KANDIDAT:
        e = (j.get("schedule") or {}).get("expr", "-")
        print(f"{str(j.get('name'))[:31]:<32}{e:<18}{str(j.get('enabled')):<7}{teks_job(j)[:120]}")
