#!/usr/bin/env python3
"""Periksa post berjudul netral: konten klinik asli yang disisipi link judi, atau spam murni?"""
import base64, html, json, re, time, urllib.request, urllib.error

SITE = "https://klinikmetamorf.com"
UA = {"User-Agent": "Mozilla/5.0"}
AUTH = base64.b64encode(b"bambangbot:whWA hVlW omQk 9FSL 8rkz VMHy").decode()


def wp(path):
    r = urllib.request.Request(SITE + path, headers={"Authorization": f"Basic {AUTH}", **UA})
    for _ in range(4):
        try:
            with urllib.request.urlopen(r, timeout=150) as x:
                return json.loads(x.read())
        except urllib.error.HTTPError as e:
            return {"__err": e.code}
        except Exception:
            time.sleep(3)
    return {"__err": "gagal"}


rows = json.load(open("metamorf_semua_post.json"))
# ambil yang judulnya netral (tidak mengandung kata judi jelas) tapi tanda tinggi/ada link luar
NETRAL = re.compile(r"kasyn|casino|slot|spin|bonus|bet|казино|автомат|daddy|дэдди|gambling|book of ra|1win|1xbet|"
                    r"miză|zakład|depozyt|spielothek|пин|pin.?up|vavada|mostbet|betano|jackpot", re.I)
netral = [r for r in rows if not NETRAL.search(r["judul"])]
print(f"post berjudul netral: {len(netral)}\n")
for r in netral[:8]:
    d = wp(f"/wp-json/wp/v2/posts/{r['id']}?context=edit&_fields=content,title,date,link")
    raw = d.get("content", {}).get("raw", "") if isinstance(d, dict) else ""
    teks = re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", raw)))
    print("=" * 96)
    print(f"#{r['id']} | {r['tgl']} | {r['judul'][:70]}")
    print(f"   panjang: {len(teks)} char | link luar: {r['domain_luar']}")
    print(f"   isi: {teks[:320]}")
