#!/usr/bin/env python3
"""Gerbang mutu lokal: patahan baris di dalam elemen, plus cek gambar unggulan artikel terjadwal."""
import base64, importlib.util, json, re, sys, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
H = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}


def get(p):
    r = urllib.request.Request("https://studiosoft.id" + p, headers=H)
    return json.loads(urllib.request.urlopen(r, timeout=120).read())


spec = importlib.util.spec_from_file_location("gen", f"{WS}/ss_artikel_situs_lambat_di_ponsel.py")
m = importlib.util.module_from_spec(spec)
sys.argv = [sys.argv[0]]
try:
    spec.loader.exec_module(m)
except SystemExit:
    pass

print("=== 1. patahan baris di dalam elemen (wpautop jadi <br>) ===")
pecah = []
for el in re.findall(r"<(p|li|h2|h3)\b[^>]*>(.*?)</\1>", m.ISI, flags=re.S):
    tag, isi = el
    if "<" in isi or "<br" in isi:
        continue
    baris = [b for b in isi.split("\n") if b.strip()]
    if len(baris) > 1:
        pecah.append((tag, baris[0][:60]))
print("   temuan:", len(pecah), pecah[:5] if pecah else "bersih")

print("\n=== 2. karakter terlarang (em dash / kutip melengkung / CJK) ===")
for nama, pola in (("em dash", r"—"), ("kutip melengkung", r"[“”‘’]"),
                   ("CJK", r"[\u3000-\u9fff\uac00-\ud7af]")):
    n = re.findall(pola, m.ISI)
    print(f"   {nama}: {len(n)}")

print("\n=== 3. gambar unggulan artikel terjadwal terakhir ===")
fut = get("/wp-json/wp/v2/posts?status=future&per_page=100&orderby=date&order=asc&_fields=id,slug,date,featured_media")
for p in fut:
    print(f"   {p['date']} #{p['id']} media={p['featured_media']} {p['slug'][:50]}")
