"""Valida os textos otimizados em conteudo/: imagens existentes e links #/a/<id> válidos."""
import os, re, sys
sys.path.insert(0, os.path.dirname(__file__))
from assuntos import ASSUNTOS

BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
CONT = os.path.join(BASE, "conteudo")
ids = {a[0] for s in ASSUNTOS for a in s["artigos"]}
erros = 0
for nome in sorted(os.listdir(CONT)):
    if not nome.endswith(".md"):
        continue
    art = nome[:-3]
    txt = open(os.path.join(CONT, nome), encoding="utf8").read()
    if art not in ids:
        print(f"[{art}] arquivo sem artigo correspondente em assuntos.py"); erros += 1
    for img in re.findall(r"!\[[^\]]*\]\(([^)]+)\)", txt):
        if not os.path.exists(os.path.normpath(os.path.join(CONT, img))):
            print(f"[{art}] imagem não encontrada: {img}"); erros += 1
    for link in re.findall(r"\]\(#/a/([^)#]+)\)", txt):
        if link not in ids:
            print(f"[{art}] link para artigo inexistente: {link}"); erros += 1
feitos = {n[:-3] for n in os.listdir(CONT) if n.endswith(".md")}
print(f"{len(feitos & ids)}/{len(ids)} artigos otimizados; {erros} problema(s).")
