#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Jadwalkan draf artikel #3698 tslaw.id (tanah waris) supaya tidak bertabrakan dengan video.

Rencana Bos: jangan tayang barengan video. Video TS Law tayang Senin 12 Okt, carousel Rabu 14 Okt.
Artikel dipasang Kamis 15 Okt 08:00 WIB — hari itu kanal sosial TSLaw hanya story, jadi kalendernya rapi.

Pakai: python3 tslaw_jadwalkan_artikel_tanah_waris.py         (dry run)
       python3 tslaw_jadwalkan_artikel_tanah_waris.py --run   (eksekusi)
"""
import json
import sys

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
import tslaw_wp as T  # noqa: E402

POST = 3698
# PENTING: tslaw.id memakai WIB untuk `date`; server menghitung date_gmt = date - 7 jam.
# (uji: date 2026-10-15T01:00 -> date_gmt 2026-10-14T18:00). Jadi tulis jam WIB apa adanya.
TANGGAL = "2026-10-15T08:00:00"     # 08:00 WIB
MODE = "run" if "--run" in sys.argv else "dry"

# 1) pastikan zona waktu situs: baca pasangan date vs date_gmt pada artikel lama
uji = T.get("posts/3356", {"context": "edit", "_fields": "id,date,date_gmt,modified_gmt"}).json()
print(f"uji zona waktu #3356: date={uji['date']} date_gmt={uji['date_gmt']}")
jam_situs_utc = uji["date"][11:16]
jam_gmt = uji["date_gmt"][11:16]
print(f"  jam situs {jam_situs_utc} vs jam GMT {jam_gmt} -> selisih menunjukkan zona situs")

# 2) periksa keadaan artikel sekarang
j = T.ambil_post(POST)
print(f"\n#{POST} sekarang: status={j.get('status')} date={j.get('date')} slug={j.get('slug')}")
print(f"  judul: {j['title']['rendered'][:80]}")
if j.get("status") not in ("draft", "future"):
    print(f"  status tidak lazim ({j.get('status')}) — hentikan supaya tidak menimpa")
    sys.exit(1)

if MODE != "run":
    print(f"\n[DRY] set status=future date={TANGGAL} (08:00 WIB) + _yoast_wpseo_focuskw tetap")
    raise SystemExit(0)

r = T.session().post(f"{T.BASE}/posts/{POST}", json={
    "status": "future",
    "date": TANGGAL,
}, timeout=T.TIMEOUT)
if r.status_code >= 400:
    sys.exit(f"GAGAL {r.status_code}: {r.text[:300]}")

b = T.ambil_post(POST)
print(f"\nbaca-balik: status={b.get('status')} date={b.get('date')} date_gmt={b.get('date_gmt')}")
print(f"  slug={b.get('slug')} featured={b.get('featured_media')} "
      f"kategori={b.get('categories')} tag={len(b.get('tags') or [])}")
print(f"  panjang isi {len(b.get('_raw') or '')} char | masih ada video: {'<video' in (b.get('_raw') or '')}")
print(f"  tautan: {b.get('link')}")
