#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Cek artikel LIVE (status=publish) studiosoft.id per kata kunci + status artikel yang di-rename.
Read-only. Dipakai untuk menentukan URL pengganti link mati."""
import base64, json, re, urllib.request, urllib.error, sys

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


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


def cari(kata):
    st, d = api(f"/wp-json/wp/v2/posts?status=publish&per_page=6&search={urllib.parse.quote(kata)}"
                f"&_fields=id,slug,link,date,title")
    return st, d


import urllib.parse
for kata in ["properti", "manufaktur", "retail", "keuangan", "rumah sakit", "klinik",
             "analitik", "media sosial", "data marketing", "wordpress", "branding",
             "sidoarjo", "malang", "jasa seo", "digital agency"]:
    st, d = cari(kata)
    print(f"\n### '{kata}' (http {st})")
    if isinstance(d, list):
        for p in d:
            print(f"   {p['date'][:10]} {p['link']}")
    else:
        print("   ", str(d)[:160])

print("\n=== artikel yang di-rename (context=edit, status any) ===")
for i in [9186, 9187, 9191, 9193, 9195, 9196, 9197, 9198, 9199, 9200]:
    st, d = api(f"/wp-json/wp/v2/posts/{i}?context=edit&_fields=id,slug,status,date,link,title")
    if isinstance(d, dict):
        print(f"#{i} {d.get('status'):9s} {d.get('date')}  {d.get('slug')}")
    else:
        print(f"#{i} http={st} {str(d)[:80]}")
