#!/usr/bin/env python3
"""Cari cara mendapatkan ID tag TSC (beberapa percobaan endpoint / pola HTML)."""
import base64, importlib.util, json, re, urllib.error, urllib.request

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


def get(url, login=False):
    h = dict(UA)
    if login:
        h["Authorization"] = f"Basic {AUTH}"
    try:
        with urllib.request.urlopen(urllib.request.Request(url, headers=h), timeout=60) as x:
            return x.status, x.read().decode("utf-8", "replace")
    except urllib.error.HTTPError as e:
        return e.code, e.read().decode("utf-8", "replace")[:200]
    except Exception as e:
        return "GAGAL", str(e)[:60]


print("A. endpoint tag dengan slug:")
st, t = get(f"https://www.{DOM}/wp-json/wp/v2/tags?slug=klinik-dni", login=True)
print("   ", st, t[:200])

print("\nB. pola body class pada halaman arsip:")
st2, html = get(f"https://www.{DOM}/tag/klinik-dni/", login=False)
print("   HTTP", st2)
for pola in (r"tag-id-(\d+)", r"/wp-json/wp/v2/tags/(\d+)", r"term_id[\"':= ]+(\d+)", r"tag-(\d+)\b"):
    m2 = re.findall(pola, html)
    print(f"   pola {pola}: {m2[:5]}")

print("\nC. dari artikel yang memakai tag itu (tag per artikel):")
st3, d = get(f"https://www.{DOM}/wp-json/wp/v2/posts?per_page=1&tags=klinik-dni&_fields=id", login=True)
print("   posts?tags=klinik-dni →", st3, str(d)[:160])
