#!/usr/bin/env python3
"""Cek kandidat tautan internal StudioSoft: ada di WP REST + HTTP 200 live."""
import base64, json, re, subprocess, urllib.request, urllib.error

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())


# 1) artikel yang menyebut 'kontrak' / 'agency' di judul, status publish
print("=== artikel publish bertema agensi/kontrak ===")
for kw in ("kontrak", "agency", "perjanjian", "proposal"):
    d = rest(f"/wp-json/wp/v2/posts?search={kw}&status=publish&per_page=15&_fields=id,slug,status,date,title,link")
    for p in d:
        print(f"  #{p['id']:>5} {p['date'][:10]} {p['link']}")

print()
print("=== #9292 (artikel akan datang) status & tanggal ===")
d = rest("/wp-json/wp/v2/posts/9292?context=edit&_fields=id,slug,status,date,date_gmt,title,link")
print(json.dumps(d, ensure_ascii=False)[:400])

kandidat = [
    "https://studiosoft.id/digital-agency-terbaik-di-surabaya/",
    "https://studiosoft.id/biaya-digital-agency-surabaya/",
    "https://studiosoft.id/digital-agency-surabaya-vs-freelancer/",
    "https://studiosoft.id/branding-agency-surabaya-proses-hasil-kerja/",
    "https://studiosoft.id/jasa-maintenance-wordpress-pekerjaan-bulanan/",
    "https://studiosoft.id/jasa-seo-surabaya-paket-harga/",
    "https://studiosoft.id/10-tips-memilih-digital-agency-yang-tepat-untuk-bisnis-anda/",
]
print()
print("=== HTTP live (curl -4, cache-buster) ===")
for u in kandidat:
    r = subprocess.run(["curl", "-4", "-s", "-o", "/dev/null", "-w", "%{http_code}",
                        "-A", "Mozilla/5.0", "-L", "--max-time", "45", u + "?nocache=n1"],
                       capture_output=True, text=True)
    print(f"  {r.stdout.strip():>4}  {u}")
