#!/usr/bin/env python3
"""Cari foto bertema kesehatan di pustaka media StudioSoft yang belum dipakai sebagai gambar unggulan."""
import base64, json, re, urllib.request

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


def rest(p):
    return json.loads(urllib.request.urlopen(urllib.request.Request("https://studiosoft.id" + p, headers=H), timeout=180).read())


print("=== nama tag pada #3535 ===")
for t in rest("/wp-json/wp/v2/tags?include=639,657,634,654,653,658,660,655,659,656&_fields=id,name,count"):
    print(f"   #{t['id']:<5} {t['name'][:40]:<42} {t['count']}")

print("\n=== gambar unggulan yang sudah dipakai ===")
dipakai = set()
for hal in (1, 2, 3):
    d = rest(f"/wp-json/wp/v2/posts?per_page=100&page={hal}&_fields=id,featured_media")
    if not isinstance(d, list) or not d:
        break
    for x in d:
        if x.get("featured_media"):
            dipakai.add(x["featured_media"])
print(f"   {len(dipakai)} gambar sedang dipakai")

print("\n=== foto bertema kesehatan di pustaka ===")
for cari in ("hospital", "doctor", "klinik", "dokter", "rumah sakit", "nurse", "medical"):
    for m in rest(f"/wp-json/wp/v2/media?per_page=20&search={cari}&_fields=id,source_url,title,media_details"):
        nama = m["source_url"].split("/")[-1]
        pakai = "DIPAKAI" if m["id"] in dipakai else "belum"
        uk = m.get("media_details", {})
        print(f"   #{m['id']:<6} {pakai:<8} {uk.get('width')}x{uk.get('height')}  {nama[:60]}")
