#!/usr/bin/env python3
"""Rinci 3 tautan mati di artikel induk StudioSoft #3535: jangkar, kalimatnya, dan calon pengganti yang hidup."""
import json, re, urllib.request

UA = {"User-Agent": "Mozilla/5.0"}
PID = 3535
MATI = ["/kenapa-rumah-sakit-dan-klinik-wajib-punya-strategi-digital-marketing/",
        "/konten-edukasi-kesehatan-kepercayaan-pasien/",
        "/website-rumah-sakit-gagal-pasien/"]

x = json.loads(urllib.request.urlopen(urllib.request.Request(
    f"https://studiosoft.id/wp-json/wp/v2/posts/{PID}", headers=UA), timeout=90).read())
isi = x["content"]["rendered"]
teks_polos = re.sub(r"\s+", " ", re.sub("<[^>]+>", " ", isi)).strip()

print(f"artikel #{PID} · {x['link']}")
print(f"diubah terakhir: {x['modified'][:10]} · {len(teks_polos.split())} kata\n")

for pth in MATI:
    print(f"■ {pth}")
    for mo in re.finditer(r'<a[^>]+href="[^"]*' + re.escape(pth.strip("/")) + r'[^"]*"[^>]*>(.*?)</a>', isi, re.S):
        jangkar = re.sub(r"\s+", " ", re.sub("<[^>]+>", " ", mo.group(1))).strip()
        print(f"   jangkar: «{jangkar}»")
        # kalimat tempat tautan itu berada
        a = isi.rfind("<p", 0, mo.start())
        b = isi.find("</p>", mo.end())
        kal = re.sub(r"\s+", " ", re.sub("<[^>]+>", " ", isi[a:b])).strip()
        print(f"   kalimat : …{kal[:220]}…")
    try:
        urllib.request.urlopen(urllib.request.Request("https://studiosoft.id" + pth, headers=UA, method="GET"), timeout=45)
        print("   status  : 200 (hidup)")
    except Exception as e:
        print(f"   status  : {str(e)[:40]}")
    print()

print("=== calon pengganti (halaman hidup + relevan) ===")
KANDIDAT = ["/digital-marketing-rumah-sakit-indikator/", "/seo-rumah-sakit/",
            "/jasa-digital-marketing-rs/", "/pembuatan-website-rumah-sakit/",
            "/panduan-seo-klinik-rumah-sakit/", "/rs-klinik-digital-marketing-2026/",
            "/konten-edukasi-rumah-sakit/", "/klinik-kecil-butuh-digital-marketing/",
            "/google-business-profile-klinik/"]
for u in KANDIDAT:
    try:
        with urllib.request.urlopen(urllib.request.Request("https://studiosoft.id" + u, headers=UA), timeout=45) as r:
            st = r.status
    except Exception as e:
        st = str(e)[:30]
    d = json.loads(urllib.request.urlopen(urllib.request.Request(
        "https://studiosoft.id/wp-json/wp/v2/posts?slug=" + u.strip("/") + "&_fields=id,title,link", headers=UA),
        timeout=90).read())
    judul = re.sub("<[^>]+>", "", d[0]["title"]["rendered"])[:60] if d else "(tidak ada)"
    print(f"   {st} · {u:<46} {judul}")
