#!/usr/bin/env python3
"""Cek tag tslaw.id untuk artikel pencemaran nama baik."""
import base64, json, urllib.request, urllib.error, time

DOM = "tslaw.id"
USER, PASS = "bambangbot", "EFKm EYGx VQCP Y9go ncPr uM2Y"
AUTH = base64.b64encode(f"{USER}:{PASS}".encode()).decode()
UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}


def rest(path, method="GET", data=None):
    h = {"Authorization": f"Basic {AUTH}", **UA}
    body = None
    if data is not None:
        body = json.dumps(data).encode(); h["Content-Type"] = "application/json"
    r = urllib.request.Request(f"https://{DOM}{path}", data=body, headers=h, method=method)
    try:
        with urllib.request.urlopen(r, timeout=120) as x:
            return x.status, json.loads(x.read())
    except urllib.error.HTTPError as e:
        return e.code, e.read().decode()[:200]


st, tags = rest("/wp-json/wp/v2/tags?per_page=100&orderby=count&order=desc&_fields=id,name,slug,count")
print(f"tag teratas: {len(tags) if isinstance(tags, list) else tags}")
if isinstance(tags, list):
    for t in tags:
        print(f"  #{t['id']:<4} {t['name']:<32} slug={t['slug']:<32} {t['count']} artikel")

print("\n=== CARI KANDIDAT LEWAT SLUG ===")
for nama in ["pencemaran nama baik", "uu ite", "ite", "advokat", "pidana", "laporan polisi",
             "perlindungan konsumen", "data pribadi", "konten kreator"]:
    slug = nama.replace(" ", "-")
    st, r = rest(f"/wp-json/wp/v2/tags?slug={slug}&_fields=id,name,slug,count")
    if isinstance(r, list) and r:
        print(f"  ADA   {nama:<22} -> #{r[0]['id']} ({r[0]['count']})")
    else:
        print(f"  belum {nama:<22} (slug {slug})")

print("\n=== KATEGORI 14 ===")
st, kat = rest("/wp-json/wp/v2/categories?include=14&_fields=id,name,slug,count")
print(" ", kat)
