#!/usr/bin/env python3
"""Verifikasi akhir: #9609 terjadwal benar, 1 artikel/hari, bank topik valid."""
import base64, json, re, urllib.request

S = "https://studiosoft.id"
H = {"Authorization": "Basic " + base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode(),
     "User-Agent": "Mozilla/5.0"}


def get(p):
    r = urllib.request.Request(S + p, headers=H)
    return json.loads(urllib.request.urlopen(r, timeout=150).read())


d = get("/wp-json/wp/v2/posts?status=future&per_page=100&orderby=date&order=asc"
        "&_fields=id,slug,date,title,featured_media")
per = {}
for p in d:
    per.setdefault(p["date"][:10], []).append(p)
print(f"total future: {len(d)} | {d[0]['date'][:10]} s/d {d[-1]['date'][:10]}")
akhir = None
for p in d:
    if p["id"] == 9609:
        akhir = p
print("post 9609:", json.dumps(akhir, ensure_ascii=False)[:220] if akhir else "TIDAK ADA")
print("tanggal 2026-10-27 isi:", [x["id"] for x in per.get("2026-10-27", [])])
print("hari dengan >1 artikel:", {k: len(v) for k, v in per.items() if len(v) > 1} or "tidak ada")

c = get("/wp-json/wp/v2/posts/9609?context=edit&_fields=status,slug,date,date_gmt,featured_media,content,meta")
isi = c["content"]["raw"]
print("status:", c["status"], "| date:", c["date"], "| date_gmt:", c["date_gmt"])
print("slug:", c["slug"], "| media:", c["featured_media"], "| isi:", len(isi), "char")
print("WA:", "wa.me/6281935000624" in isi, "| FAQPage:", "FAQPage" in isi,
      "| h2:", len(re.findall(r"<h2>", isi)), "| tautan internal:",
      len(set(re.findall(r"https://studiosoft\.id/[a-z0-9-]+/", isi))))
print("meta:", {k: v for k, v in (c.get("meta") or {}).items() if k.startswith("_yoast")})
print("kata:", len(re.sub(r"<[^>]+>", " ", isi).split()))

b = json.load(open("/home/mantapman/.hermes/profiles/atun/workspace/ss_topik_bank.json"))
belum = [t["judul"][:52] for t in b["topik"] if not t.get("dipakai")]
print("bank: dipakai", sum(1 for t in b["topik"] if t.get("dipakai")), "| belum", len(belum))
for t in belum:
    print("   ·", t)
