#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Verifikasi bebas post #9322 (draft->future) lewat REST, tanpa memakai skrip generator."""
import base64, json, re, urllib.request

S = "https://studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
UA = {"User-Agent": "Mozilla/5.0"}
r = urllib.request.Request(S + "/wp-json/wp/v2/posts/9322?context=edit", headers={"Authorization": f"Basic {AUTH}", **UA})
p = json.loads(urllib.request.urlopen(r, timeout=180).read())
raw = p["content"]["raw"]
m = p.get("meta") or {}
teks = re.sub(r"<[^>]+>", " ", re.sub(r"<script.*?</script>", " ", raw, flags=re.S | re.I))
kata = len(re.sub(r"\s+", " ", teks).split())
print("id       :", p["id"], "| status:", p["status"])
print("judul    :", p["title"]["raw"])
print("slug     :", p["slug"])
print("tanggal  :", p["date"], "| date_gmt:", p["date_gmt"])
print("kategori :", p["categories"], "| penulis:", p.get("author"))
print("meta     : fokus=%r judul=%r desc=%d char" % (m.get("_yoast_wpseo_focuskw"),
                                                     m.get("_yoast_wpseo_title"),
                                                     len(m.get("_yoast_wpseo_metadesc") or "")))
print("kata     :", kata, "| h2:", raw.count("<h2>"), "| h3:", raw.count("<h3>"))
print("wa.me    :", raw.count("wa.me/6281935000624"), "| Konsultasi Gratis:", "Konsultasi Gratis" in raw)
print("FAQPage  :", "FAQPage" in raw, "| valid JSON-LD:",
      bool(json.loads(re.search(r'<script type="application/ld\+json">(.*?)</script>', raw, re.S).group(1))))
print("tautan internal:")
for u in re.findall(r'href="(https://studiosoft\.id/[^"]+)"', raw):
    print("   ", u)
print("CJK/em dash/kutip melengkung:", len(re.findall(r"[\u3000-\u9fff\uac00-\ud7af]", raw)),
      len(re.findall("\u2014", raw)), len(re.findall("[\u201c\u201d\u2018\u2019]", raw)))
