#!/usr/bin/env python3
"""TSLaw: lihat struktur bagian FAQ pada artikel yang belum terbaca (mis. #3356) untuk menyesuaikan pola."""
import base64, html, json, re, time, urllib.request, importlib.util

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


def rest(p):
    r = urllib.request.Request(f"https://{DOM}{p}", headers={"Authorization": f"Basic {AUTH}", **UA})
    return json.loads(urllib.request.urlopen(r, timeout=180).read())


for pid in (3356, 3354, 3350):
    raw = rest(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=slug,content")["content"]["raw"]
    print(f"\n======== # {pid} ========")
    pos = None
    for pola in (r"pertanyaan yang sering", r"faq", r"tanya jawab"):
        mm = re.search(pola, raw, re.I)
        if mm:
            pos = mm.start()
            break
    if pos is None:
        print("   tidak ada penanda FAQ")
        continue
    potong = raw[max(0, pos - 200):pos + 1600]
    print("   " + re.sub(r"\s+", " ", potong)[:1500])
