Files
cyber-tesi/scripts/gen_bibliografia.py
T
davideandClaude Sonnet 5.5 3855b21d6d Aggiorna tesi.md, catalogo figure, bibliografia e wiki alla nuova versione (tesi_new.docx)
- raw/tesi.md allineato al docx; aggiunta Figura 52 e nuovo riferimento 51
- raw/immagini.json, raw/bibliografia.json e raw/fonti rinumerati; wiki/figures e wiki/bibliografia rigenerate
- pagine wiki, difetti-noti, CLAUDE.md e log aggiornati

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 15:05:14 +02:00

30 lines
1.6 KiB
Python

"""Genera wiki/bibliografia.md da raw/bibliografia.json (una voce per riferimento, link alla scheda in raw/fonti/).
Uso: python scripts/gen_bibliografia.py (rigenera tutto; pagina derivata, non si modifica a mano)."""
import json
from pathlib import Path
root = Path(__file__).resolve().parent.parent
refs = json.loads((root / "raw/bibliografia.json").read_text(encoding="utf8"))["references"]
out = [
"---", "title: Bibliografia", "type: overview", "tags: [bibliografia]",
"created: 2026-10-09", "updated: 2026-10-13", 'tesi_loc: "r.%d-%d"'%(1312, 1432), "derivata: true", "status: draft", "---", "",
"# Bibliografia", "",
f"Elenco dei {len(refs)} riferimenti della tesi (`text` = testo originale). Ogni voce rimanda alla scheda in `raw/fonti/` e alle righe/sezioni di `raw/tesi.md` in cui è citata. Difetti noti: [[difetti-noti]].", "",
"| N | Riferimento (testo della tesi) | Citato in (sezioni; righe) | Scheda | Stato | DOI verificato | Flag |",
"| --- | --- | --- | --- | --- | --- | --- |",
]
for r in refs:
f = r["fonte"]
card = Path(f["file"]).stem
text = r["text"].replace("|", "\\|")
secs = ", ".join(r["cited_in_sections"]) or "-"
lines = ", ".join(map(str, r["cited_in_md_lines"])) or "-"
out.append(
f"| {r['id']} | {text} | §{secs}; r.{lines} | [[{card}\\|{r['id']}]] | {f.get('stato', '-')} | "
f"{f.get('doi_verificato') or '-'} | {', '.join(r.get('quality_flags', [])) or '-'} |"
)
out += ["", "## Collegamenti", "- [[tesi]]", ""]
(root / "wiki/bibliografia.md").write_text("\n".join(out), encoding="utf8")
print(f"{len(refs)} voci")