#!/usr/bin/env python3
"""TSC batch 5: baca 5 artikel berikutnya (heading, ukuran, FAQ, domain lama)."""
import base64, html, json, re, urllib.request, importlib.util

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

for pid in (1908, 1647, 1644, 9260, 8423):
    r = urllib.request.Request(f'https://{m.CFG["domain"]}/wp-json/wp/v2/posts/{pid}?context=edit&_fields=id,slug,title,content',
                               headers={"Authorization": f"Basic {AUTH}", **UA})
    with urllib.request.urlopen(r, timeout=150) as x:
        d = json.loads(x.read())
    raw = d["content"]["raw"]
    teks = re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", re.sub(r"<script.*?</script>", " ", raw, flags=re.S))))
    kata = len([w for w in teks.split() if w])
    faq = bool(re.search(r"<h2[^>]*>\s*FAQ\s*</h2>", raw, re.I)) or "FAQPage" in raw
    md = len(re.findall(r"<h[23][^>]*>\s*#+\s", raw))
    dom = raw.count("klinikdnisidoarjo.com")
    print(f"\n{'='*92}")
    print(f"### #{pid} /{d['slug']} — {kata} kata | FAQ: {'ada' if faq else 'BELUM'} | markdown: {md} | domain lama: {dom}")
    print(f"   judul: {html.unescape(d['title']['rendered'])}")
    print(f"   heading: {[html.unescape(re.sub(r'<[^>]+>', '', x)).strip()[:52] for x in re.findall(r'<h[23][^>]*>(.*?)</h[23]>', raw, re.S)]}")
    print(f"   awal: {teks[:230]}")
    print(f"   akhir: {teks[-220:]}")
