---
name: archivio-foto-e-catalogo
description: Come l'archivio foto si collega ai giochi, perché il catalogo era fermo a un terzo e come si rifà la mappatura
metadata:
  type: project
---

Chiuso il 2026-09-05. Prima di allora la scaletta pescava da **126 giochi**, e
sembravano tutti quelli che avevamo. Non era vero.

## Il collo di bottiglia era la mappatura, non le foto

L'archivio è `/Users/paolo/Server/Siti Web/_private/BG-Perspective/archivio/`, 1.154 foto
chiamate `<Nome del gioco> - 00.jpg`. Quel nome lo scrive Paolo a mano, quindi può
essere il titolo italiano, un refuso o un'abbreviazione. Per il codice un gioco
esiste solo se quel nome è collegato a un id BGG nella tabella `giochi` di
`bgp.sqlite`.

**Dal 2026-09-07 le foto non stanno più sparse nella root**: c'è una cartella per
gioco, chiamata **`Nome (bggId)`**, dentro `archivio/`. Il nome della cartella è
quello dei **file**, refusi compresi (`Blockus (2453)`, `Keyflowers (122515)`),
perché è quello che il codice cerca: cambiarlo scollegherebbe le foto dal
database. Quattro cartelle non hanno l'id e stanno senza parentesi.

**I quattro giochi fotografati sotto due nomi li ha uniti Paolo a mano lo stesso
giorno**, e adesso si sa cos'erano: `Viticolture` era un refuso di *Viticulture*;
`Le tribù del vento` è *Tribes of the Wind* col titolo italiano; `Terraforming
Mars 3D` è *Terraforming Mars* con le tessere stampate in casa, e i file tengono
il "3D" nel nome apposta, perché quelle tessere nella scatola non ci sono;
`Century` invece **non è La via delle spezie**, sono tre foto di una partita che
mescola due capitoli, e non vanno contate su nessuno dei due.

Le ultime due sono scritte nel dizionario `ECCEZIONI` in cima a `importa.py`, che
altrimenti le sbaglierebbe a ogni giro. E `importa.py` adesso **somma** le foto dei
nomi che puntano allo stesso gioco, prima teneva solo l'ultimo letto.

**Chi legge l'archivio scende di un livello**: `importa.py`, `ids_da_foto.py` e
`raddrizza.py`, aggiornati lo stesso giorno. Il resto della pipeline usa
`_instagram/foto/`, che sono le foto già preparate per le slide e non è stata
toccata. Lo spostamento file per file sta in
`dati/riordino_foto_2026-09-07.csv`, con la colonna prima e la colonna dopo.

**Erano collegati 126 nomi su 364.** Gli altri 238 non esistevano per
`scaletta.py`, quindi non sono mai stati candidati a un post.

## Come si rifà, in tre passaggi

1. **`python3 ids_da_foto.py`** collega i nomi leggendo il dump SQL di BGG in
   `/Users/paolo/Server/Siti Web/_private/bgg/ - mat/database-2025.sql`, che
   contiene anche i **nomi alternativi**, cioè i titoli italiani. Da solo ne
   risolve **329 su 364**. Scrive `dati/ids.txt` e `dati/ids_mancanti.txt`.
2. I nomi rimasti si risolvono a mano. Il 5 settembre erano 35 e sono stati
   chiusi tutti tranne uno ("My Biblio Set").
3. Si inserisce in `giochi` prendendo peso ed etichetta dal portale.

**La fonte che scioglie quasi tutti i dubbi** è
`dati/paolo_tutti_i_giochi.csv`, i **493 giochi che Paolo possiede o ha
giocato**, generato da `/api/collezione/paoloalby?giocati=1&espansioni=1`. Se
Paolo ha fotografato un gioco, quel gioco è quasi sempre in quella lista.

**Il trucco che ha chiuso i casi difficili**: incrociare la **data di creazione
del file foto** con la data delle partite registrate. Su "Agricola Family" la
foto è del 29 agosto 2020, il giorno esatto della partita alla Family Edition, e
Paolo ha toccato l'Agricola classico solo nel 2026. Sono due edizioni diverse con
id diversi, e la data lo prova meglio della foto.

## Il controllo che va rifatto ogni volta

**Se l'id attribuito non compare fra i 493 giochi di Paolo, l'attribuzione è
sospetta.** Vuol dire che avrebbe fotografato un gioco che non possiede e non ha
mai giocato: succede, ma è raro. Quasi sempre è l'edizione sbagliata, la prima
invece della seconda o il gioco base invece della Big Box. Il 5 settembre erano
19 casi su 171.

Attenzione anche ai **giochi fotografati sotto due nomi**: le foto vanno sommate.
Erano tre casi. Ma non si sommano alla cieca: "Century" da solo, tre foto, non è
detto sia La via delle spezie, perché in casa c'è anche Il Nuovo Mondo.

## Dove siamo arrivati

**360 righe in `giochi`, 193 con almeno tre foto, 125 con almeno quattro**, che è
il minimo vero per montare un post (copertina, cos'è, come gira, chiusura).

Tolti i 41 già lavorati restano **84 candidati**, e **34 sono usciti dal 2020 in
poi**: Stupor Mundi e Le Paludi di Feya del 2025, Flatiron, Inferno e Galileo
Galilei del 2024, Legacy of Yu, The White Castle, Maps of Misterra, Ierusalem e
Compagnia delle Indie del 2023. È la risposta al problema che Paolo aveva
sollevato il 2 settembre, cioè che il canale parlava solo di giochi vecchi.

Vedi [[api-portale-bgg]] e [[stato-scaletta-e-coda]].
