#!/usr/bin/env python3
"""Set label (caption) gambar unggulan #3566 menjadi "Tito Law Firm", dan cek variasi ejaan nama firma."""
import base64, importlib.util, json, re, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
spec = importlib.util.spec_from_file_location("cfg", f"{WS}/cfg_tslaw.py")
m = importlib.util.module_from_spec(spec)
spec.loader.exec_module(m)
C = m.CFG
DOM = C.get("domain", C.get("situs"))
A = base64.b64encode(f"{C['user']}:{C['pass']}".encode()).decode()
H = {"Authorization": f"Basic {A}", "User-Agent": "Mozilla/5.0", "Content-Type": "application/json"}
UA = {"User-Agent": "Mozilla/5.0"}

print("=== media #3759 sebelum ===")
med = json.loads(urllib.request.urlopen(urllib.request.Request(
    f"https://{DOM}/wp-json/wp/v2/media/3759?context=edit", headers=H), timeout=120).read())
for k in ("title", "alt_text", "caption", "description"):
    v = med.get(k)
    v = v.get("raw") if isinstance(v, dict) else v
    print(f"   {k:<12}: {str(v)[:110]}")

r = urllib.request.Request(f"https://{DOM}/wp-json/wp/v2/media/3759", data=json.dumps({
    "caption": "Tito Law Firm",
    "alt_text": "Tito Law Firm Surabaya",
    "title": "Tito Law Firm"}).encode(), headers=H, method="POST")
print("\n=== sesudah ===")
med2 = json.loads(urllib.request.urlopen(r, timeout=180).read())
for k in ("title", "alt_text", "caption"):
    v = med2.get(k)
    v = v.get("raw") if isinstance(v, dict) else v
    print(f"   {k:<12}: {str(v)[:110]}")

print("\n=== variasi ejaan nama firma di situs ===")
import urllib.request as u2
teks = {}
for url, label in ((f"https://{DOM}/", "beranda"),
                   (f"https://{DOM}/biaya-jasa-law-firm-surabaya/", "artikel #3566")):
    t = u2.urlopen(u2.Request(url + "?cek=1", headers=UA), timeout=90).read().decode("utf-8", "replace")
    sup_anto = len(re.findall(r"Tito Suprianto Law Firm", t))
    sup_iyanto = len(re.findall(r"Tito Supriyanto Law Firm", t))
    tslaw = len(re.findall(r"TSLaw", t))
    print(f"   {label:<14} Suprianto: {sup_anto} · Supriyanto: {sup_iyanto} · TSLaw: {tslaw}")
