#!/usr/bin/env python3
"""Hitung artikel studiosoft.id yang BELUM pernah dipakai di akun mana pun (semua status).

Input : /tmp/ss_articles.json (fetch_ss_articles.py), /tmp/repliz_all_20260915.json (dump)
Output: /tmp/ss_articles_fresh.json  + cetak daftarnya
"""
import json
import re
import unicodedata

arts = json.load(open("/tmp/ss_articles.json"))
docs = json.load(open("/tmp/repliz_all_20260915.json"))


def norm(u):
    u = (u or "").split("?")[0].split("#")[0].rstrip("/").lower()
    u = u.replace("https://www.", "https://")
    return unicodedata.normalize("NFC", u)


used = set()
for d in docs:
    for m in (d.get("medias") or []):
        for u in re.findall(r"https?://[^\s\"'<>)]*studiosoft\.id[^\s\"'<>)]*", m.get("url", "") or ""):
            used.add(norm(u))
    for field in ("description", "title", "topic"):
        for u in re.findall(r"https?://[^\s\"'<>)]*studiosoft\.id[^\s\"'<>)]*", d.get(field) or ""):
            used.add(norm(u))

print(f"URL studiosoft.id terpakai (dari {len(docs)} jadwal): {len(used)}")

fresh, taken = [], []
for a in arts:
    (taken if norm(a["link"]) in used else fresh).append(a)

print(f"artikel dicek: {len(arts)} | fresh: {len(fresh)} | sudah dipakai: {len(taken)}\n")
for a in fresh:
    print("  FRESH", a["date"][:10], a["slug"])
for a in taken:
    print("  used ", a["date"][:10], a["slug"])

json.dump(fresh, open("/tmp/ss_articles_fresh.json", "w"), indent=1)
