#!/usr/bin/env python3
"""Cek lanjutan: tautan internal, kategori, dan slug."""
import base64, json, subprocess, urllib.request

S = "https://studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()


def rest(p):
    r = urllib.request.Request(S + p, headers={"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    with urllib.request.urlopen(r, timeout=120) as x:
        return json.loads(x.read())


for u in ["https://studiosoft.id/digital-marketing-agency-surabaya-cara-memilih-partner/",
          "https://studiosoft.id/retainer-digital-marketing/",
          "https://studiosoft.id/cara-memilih-jasa-seo-surabaya/"]:
    r = subprocess.run(["curl", "-4", "-s", "-o", "/dev/null", "-w", "%{http_code}", "-A", "Mozilla/5.0",
                        "-L", "--max-time", "45", u + "?nocache=n2"], capture_output=True, text=True)
    print(f"  {r.stdout.strip():>4}  {u}")

print("\n=== kategori artikel sejenis ===")
for pid in (7855, 8051, 9228):
    d = rest(f"/wp-json/wp/v2/posts/{pid}?_fields=id,title,categories,status")
    print(f"  #{pid} {d.get('status')} cats={d.get('categories')} {d['title']['rendered'][:60]}")

print("\n=== kategori tersedia ===")
for c in rest("/wp-json/wp/v2/categories?per_page=100&_fields=id,name,count"):
    if c["count"] > 3:
        print(f"  {c['id']:>5} {c['name']:<28} {c['count']}")

print("\n=== cek slug ===")
for slug in ("kontrak-digital-agency-pasal-wajib", "kontrak-digital-agency", "pasal-kontrak-digital-agency"):
    d = rest(f"/wp-json/wp/v2/posts?slug={slug}&status=any&_fields=id,status,slug")
    print(f"  {slug}: {d}")
