#!/usr/bin/env python3
"""Cari calon tautan internal untuk artikel 'situs lambat di ponsel'."""
import base64, json, re, urllib.request

DOM = "studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
H = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}

semua = []
for hal in range(1, 6):
    u = f"https://{DOM}/wp-json/wp/v2/posts?per_page=100&page={hal}&status=publish&_fields=id,slug,title,link"
    try:
        with urllib.request.urlopen(urllib.request.Request(u, headers=H), timeout=120) as x:
            d = json.loads(x.read())
    except Exception as e:
        print("gagal hal", hal, e)
        break
    if not d:
        break
    semua += d
print("total post terbit:", len(semua))

KATA = ("cepat", "kecepatan", "lambat", "web vitals", "core web", "mobile", "ponsel", "hosting", "server", "gambar", "loading")
for p in semua:
    t = re.sub(r"<[^>]+>", "", p["title"]["rendered"])
    gab = (t + " " + p["slug"]).lower()
    if any(k in gab for k in KATA):
        print(f'{p["id"]:>6} | {p["slug"]} | {t[:80]}')
