2026-10-09 19:21:52 +02:00
"""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]" ,
2026-10-13 15:05:14 +02:00
"created: 2026-10-09" , "updated: 2026-10-13" , 'tesi_loc: "r. %d - %d "' % ( 1312 , 1432 ), "derivata: true" , "status: draft" , "---" , "" ,
2026-10-09 19:21:52 +02:00
"# Bibliografia" , "" ,
2026-10-13 15:05:14 +02:00
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]]." , "" ,
2026-10-09 19:21:52 +02:00
"| 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" )