#!/usr/bin/env python3
"""Verifikasi draf (kategori, tombol WA, tautan internal) lalu jadwalkan ke hari kosong pertama."""
import base64, json, re, urllib.request

DOM = "studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
UA = {"User-Agent": "Mozilla/5.0"}
PID = json.load(open("/home/mantapman/.hermes/profiles/atun/workspace/drafts/ss_artikel_riset_kompetitor_seo.json"))["id"]


def rest(p, method="GET", data=None):
    h = {"Authorization": f"Basic {AUTH}", **UA}
    body = None
    if data is not None:
        body = json.dumps(data).encode()
        h["Content-Type"] = "application/json"
    r = urllib.request.Request(f"https://{DOM}{p}", data=body, headers=h, method=method)
    with urllib.request.urlopen(r, timeout=180) as x:
        return x.status, json.loads(x.read())


st, d = rest(f"/wp-json/wp/v2/posts/{PID}?context=edit")
raw = d["content"]["raw"]
print(f"draf #{PID}")
print(f"  status      : {d['status']}")
print(f"  slug        : {d['slug']}")
print(f"  judul       : {d['title']['raw']}")
print(f"  kategori    : {d['categories']}")
print(f"  kata        : {len(re.sub(r'<[^>]+>', ' ', raw).split())}")
print(f"  tombol WA   : {'ada' if 'wa.me/6281935000624?text=' in raw else 'TIDAK ADA'}")
hrefs = re.findall(r'href="([^"]+)"', raw)
print(f"  href di naskah: {hrefs}")
print(f"  h2/h3       : {len(re.findall('<h2', raw))}/{len(re.findall('<h3', raw))} | FAQPage: {'FAQPage' in raw}")
print(f"  meta        : {json.dumps({k: v for k, v in (d.get('meta') or {}).items() if 'yoast' in k}, ensure_ascii=False)}")

TGL = "2026-10-25"
st, d2 = rest(f"/wp-json/wp/v2/posts/{PID}", "POST", {"status": "future", "date": f"{TGL}T08:00:00"})
print(f"\njadwalkan -> HTTP {st} status={d2.get('status')} date={d2.get('date')}")

st, d3 = rest(f"/wp-json/wp/v2/posts/{PID}?context=edit&_fields=id,status,date,date_gmt,slug,categories,content,link")
raw3 = d3["content"]["raw"]
print(f"baca balik: status={d3['status']} date={d3['date']} date_gmt={d3['date_gmt']} slug={d3['slug']}")
print(f"  kategori    : {d3['categories']}")
print(f"  kata        : {len(re.sub(r'<[^>]+>', ' ', raw3).split())}")
print(f"  WA          : {'ada' if 'wa.me/6281935000624?text=' in raw3 else 'TIDAK ADA'}")
print(f"  tautan dalam: {len(re.findall(chr(104) + 'ref=.https://studiosoft.id/', raw3))}")
print(f"  link        : {d3['link']}")
