#!/usr/bin/env python3
"""Cek status artikel studiosoft.id by slug via WP REST auth (context=edit)."""
import base64, json, urllib.request, urllib.error

S = "https://studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
SLUG = "jasa-branding-surabaya-membangun-identitas-brand-kuat"

def api(path):
    h = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0", "Accept": "application/json"}
    r = urllib.request.Request(S + path, headers=h, method="GET")
    try:
        with urllib.request.urlopen(r, timeout=150) as x:
            return x.status, json.loads(x.read())
    except urllib.error.HTTPError as e:
        return e.code, e.read().decode()[:300]
    except Exception as e:
        return 0, str(e)

st, d = api(f"/wp-json/wp/v2/posts?slug={SLUG}&status=any&context=edit&_fields=id,slug,status,date,modified,link,title")
print("http:", st)
if isinstance(d, list):
    if not d:
        print("artikel TIDAK DITEMUKAN utk slug itu")
    for p in d:
        print("id     :", p.get("id"))
        print("slug   :", p.get("slug"))
        print("status :", p.get("status"))
        print("date   :", p.get("date"))
        print("link   :", p.get("link"))
        print("title  :", (p.get("title") or {}).get("rendered") if isinstance(p.get("title"), dict) else p.get("title"))
else:
    print("respons:", d)
