#!/usr/bin/env python3
"""TSC: temukan titik sisip (sebelum FAQ) pada artikel tipis + tampilkan bagian akhir konten."""
import base64, html, json, os, 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"}


def rest(p):
    r = urllib.request.Request(f'https://{m.CFG["domain"]}{p}', headers={"Authorization": f"Basic {AUTH}", **UA})
    with urllib.request.urlopen(r, timeout=150) as x:
        return json.loads(x.read())


for pid in (9266, 1675):
    d = rest(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=id,slug,content")
    raw = d["content"]["raw"]
    print(f"\n{'='*90}\n### #{pid} /{d['slug']} — {len(raw)} karakter")
    m2 = re.search(r"<h2[^>]*>[^<]*FAQ[^<]*</h2>", raw, re.I)
    if m2:
        print(f"   penanda FAQ di posisi {m2.start()} → teks: {m2.group(0)[:60]}")
        print("   cuplikan sebelum FAQ:")
        print("   ", re.sub(r"\s+", " ", raw[max(0, m2.start() - 700):m2.start()])[:700])
    else:
        print("   tidak ada heading FAQ")
    print("\n   struktur akhir (1000 karakter terakhir sebelum skrip schema):")
    akhir = raw.split("<script")[0]
    print("   ", re.sub(r"\s+", " ", akhir[-800:]))
