Prudente per progetto, non per caso
Il ciclo operativo è sempre lo stesso, e la simulazione è lo stato di riposo: il container non tocca nulla finché non glielo chiedi due volte.
Simulazione
Anteprima completa: nessuna modifica reale, solo il log di ciò che accadrebbe.
Controllo
Leggi il log e il PDF generato: ogni rinomina proposta è lì, nero su bianco.
Applica
Le rinomine vengono eseguite davvero e registrate nel journal, riga per riga.
Riposo
Si torna in simulazione: lo stato sicuro è quello predefinito, sempre.
annulla_tutto è il rollback totale: ripristino byte-per-byte verificato, idempotenza confermata a zero. Per scelta è accessibile solo dal docker-compose, mai dal telefono — le leve grosse stanno lontane dalle tasche.Due cervelli e un telecomando
TMDB + Wikipedia, con arbitro
I titoli arrivano da TMDB, gli episodi vengono verificati sulle tabelle Wikipedia/Wikidata (cache v4). Quando le fonti litigano, l'arbitro decide stagione per stagione — come per Berlino: S1 da TMDB, S2 da wiki.
Telecomando dal telefono
Una web UI mobile-first servita da main.py (solo libreria standard, porta 8095): pulsanti per simulazione, applica e annulla con conferme, log dal vivo e PIN opzionale sulle azioni che scrivono.
Archivio sempre allineato
Con AGGIORNA_ARCHIVIO ("no"/"chiedi"/"si") le stagioni mancanti diventano schede "Da scaricare" nel Film Archivio, con note [Renamer] che si ripuliscono da sole. Scrittura atomica, backup, idempotente.
Memoria di ogni mossa
Ogni rinomina finisce in rename_journal.jsonl. La configurazione è ridotta all'osso: chiave TMDB, lista IGNORA e il journal. Niente pannelli, niente sorprese.
I casi che rompono gli altri renamer
La certificazione di agosto 2026 passa da qui: tre serie notoriamente ostili, risolte e testate.
Dragon Ball Z
Numerazione assoluta riconosciuta anche in cartella piatta: niente stagioni fantasma. E per Dragon Ball 1986, doppi titoli "X a.k.a. Y" — escludibili via IGNORA.txt.
Berlino
Le celle vuote a fine tabella wiki non mandano più in crisi il parser; l'arbitro combina le due fonti e ogni stagione prende i titoli dalla fonte più affidabile.
Heidi
Tra le tante "Heidi" omonime, la disambiguazione usa la struttura delle cartelle locali e mette il veto sulle serie sorelle: vince "La serie animata".
La tua libreria, con i nomi che merita.
Sostituisci main.py e i due compose, riavvia il container e lancia la prima simulazione: il log ti dirà tutto prima che succeda qualsiasi cosa.
Parti dalla simulazione