#!/usr/bin/env python3
"""Verifikasi tipe sasaran (post vs page) + ambil isi #2729 & #2741 untuk konsolidasi."""
import base64, html, json, re, urllib.request

S = "https://yasmanatura.co.id"
AUTH = base64.b64encode(b"bambangbot:LFp4 LXBh kMYG 84qC 2DDc 5bLc").decode()


def wp(path):
    r = urllib.request.Request(S + path, headers={"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    return json.loads(urllib.request.urlopen(r, timeout=120).read())


print("=== TIPE setiap sasaran (wajib 'post') ===")
CEK = {"post": [2729, 2741, 2674], "slug": ["7-alasan-yasma-natura-jadi-pilihan-utama-jasa-produksi-minuman",
                                           "maklon-madu-solusi-terbaik-untuk-produksi-madu-berkualitas"]}
for pid in CEK["post"]:
    d = wp(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=id,link,title,type,status")
    print(f"  #{d['id']} tipe={d.get('type')} status={d.get('status')} | {d['title']['rendered'][:50]}")
for slug in CEK["slug"]:
    for tipe in ("posts", "pages"):
        d = wp(f"/wp-json/wp/v2/{tipe}?slug={slug}&context=edit&_fields=id,link,title,type,status")
        if d:
            print(f"  #{d[0]['id']} tipe={d[0].get('type')} ({tipe}) | {d[0]['title']['rendered'][:50]}")
            break

print("\n=== isi #2729 (halaman payung kandidat) ===")
a = wp("/wp-json/wp/v2/posts/2729?context=edit&_fields=content,title")
raw = a["content"]["raw"]
print("judul:", a["title"]["rendered"])
print("kata :", len(html.unescape(re.sub(r"<[^>]+>", " ", raw)).split()))
print("H2   :", " // ".join(html.unescape(re.sub("<[^>]+>", "", h))[:38] for h in re.findall(r"<h2[^>]*>(.*?)</h2>", raw, re.S)))
print("ISI  :", re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", raw)))[:400])

print("\n=== isi #2741 (yang akan digabung lalu dipensiunkan) ===")
b = wp("/wp-json/wp/v2/posts/2741?context=edit&_fields=content,title")
raw2 = b["content"]["raw"]
print("judul:", b["title"]["rendered"])
print("kata :", len(html.unescape(re.sub(r"<[^>]+>", " ", raw2)).split()))
print("H2   :", " // ".join(html.unescape(re.sub("<[^>]+>", "", h))[:38] for h in re.findall(r"<h2[^>]*>(.*?)</h2>", raw2, re.S)))
print("ISI  :", re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", raw2)))[:500])
