#!/usr/bin/env python3
"""Perbarui draf #10134 dengan versi terbaru dari skrip artikelnya (isi saja, bukan judul/slug)."""
import base64, importlib.util, json, re, sys, time, urllib.error, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
spec = importlib.util.spec_from_file_location("cfg", f"{WS}/cfg_tsc.py")
m = importlib.util.module_from_spec(spec)
spec.loader.exec_module(m)
CFG = m.CFG
AUTH = base64.b64encode(f"{CFG['user']}:{CFG['pass']}".encode()).decode()
UA = {"User-Agent": "Mozilla/5.0"}

argv, sys.argv = sys.argv, ["x"]       # skrip artikel jangan ikut menulis
g = importlib.util.spec_from_file_location("gen", f"{WS}/tsc_artikel_dokter_kulit_sidoarjo.py")
mod = importlib.util.module_from_spec(g)
try:
    g.loader.exec_module(mod)
except SystemExit:
    pass
sys.argv = argv

PID = 10134
isi = mod.ISI
kata = len(re.sub(r"<[^>]+>", " ", isi).split())
print(f"panjang baru: {kata} kata")

h = {"Authorization": f"Basic {AUTH}", **UA, "Content-Type": "application/json"}
r = urllib.request.Request(f"https://{CFG['domain']}/wp-json/wp/v2/posts/{PID}",
                           data=json.dumps({"content": isi}).encode(), headers=h, method="POST")
with urllib.request.urlopen(r, timeout=180) as x:
    print("HTTP", x.status)
time.sleep(2)
r2 = urllib.request.Request(f"https://{CFG['domain']}/wp-json/wp/v2/posts/{PID}?context=edit&_fields=content,status,slug,meta", headers={"Authorization": f"Basic {AUTH}", **UA})
cek = json.loads(urllib.request.urlopen(r2, timeout=120).read())
raw2 = cek["content"]["raw"]
print(f"tersimpan: {len(re.sub(r'<[^>]+>', ' ', raw2).split())} kata | status {cek['status']} | slug {cek['slug']}")
print(f"meta fokus: {(cek.get('meta') or {}).get('_yoast_wpseo_focuskw')}")
