Closed lucas992x closed 5 years ago
@lucas992 Se il template sotto usa il modulo PokémonInfo posso guardare per aggiungere un parametro gen con cui selezionare la generazione di cui si vogliono i tipi.
La soluzione con i parametri comunque dovrebbe essere attuabile senza problemi, se non messi si usa il default preso dal modulo. Tanto se uno passa i tipi è perché sono quelli di una vecchia generazione e quindi vorrà vedere sempre quelli indipendentemente da cambiamenti futuri.
@lucas992 Credo che l'aggiunta del parametro non si scampi perché implementare un riconoscimento automatico della generazione a partire dal titolo della pagina (che è l'unica cosa che si possa fare senza cambiare le chiamate) è ridicolmente lungo e complesso. Senza contare che ci sono pagine che mostrano allenatori di più generazioni (Kanto ad esempio) in cui comunque non potresti distinguere a priori se Magnemite sia acciaio o no. Dunque la cosa più facile (da ignorante) credo che sia l'implementazione di un parametro gen.
Noto che Flavio mi ha ninjato. Il problema che aveva posto Luca non era su quelli segnati a mano in passato, ma che tipo se Goomy diventa di tipo Drago/Bello in ottava generazione con l'aggiornamento del modulo si sminchiano tutte le chiamate passate e bisogna andare a sistemarle una alla volta. Onestamente non vedo comunque alternative.
Se riusciamo ad aggiungere un parametro gen mi sembra la cosa migliore, poi ci vorrà pazienza a metterlo nelle pagine già esistenti ma vabbé.
A quello non si scampa. Una rilevazione automatica della gen non si può fare, quindi qualcosa va aggiunto alla chiamata. A questo punto mettiamo sempre la gen e siamo sicuri che in qualsiasi momento del futuro non avremo problemi (finché i moduli funzionano).
In realtà mi sto accorgendo adesso che forse non c'è il supporto per i vecchi tipi nei moduli dati, quindi dovrò sistemare anche quello.
Io in teoria ho fatto la modifica (anche se non l'ho ancora caricata perché richiede testing abbondante). Al modulo adesso basta passare il parametro gen=n
che funziona come vi aspettate; se non viene passato si suppone di default l'ultima generazione.
Mancano quindi da
Naturalmente l'ultimo punto non pensavo di farlo in un colpo solo, se uno vede le pagine in giro e nota l'errore lo corregge. Il template però è da aggiornare.
Ho modificato il template Trainerlist/entry
in modo che prenda un parametro gen
e lo passi ad ognuno dei 6 Pokémon, quindi quando avrai fatto tutto ti basterà modificare Trainerlist/Pokémon
. Poi ho aggiunto gen=5
nella pagina sopra indicata, così puoi provare subito se funziona.
Ok, adesso la pagina di prova si vede bene, ho caricato tutto quello che dovevo caricare e aggiornato il template (in due volte perché figurati se senza anteprima riesco a fare giusto al primo colpo). Se volete tenere questa issue come memo che ci sono da aggiornare le pagine ok ma unassign me. Altrimenti potete chiuderla ma lasciatemi assegnato che mi piace vedere l'elenco delle issue chiuse assegnate a me (è una specie di achievement list).
Tutte le zone di Sinnoh, Unima, Kalos e Alola dovrebbero essere a posto. Per Kanto, Johto e Hoenn forse c'è un modo per farle con un bot, nel dubbio lascerei aperta la issue.
Descrizione
Il template Trainerlist ricava da solo i tipi del Pokémon da mostrare, ma quando si ha un Pokémon che ha cambiato tipo in una generazione successiva il risultato è chiaramente errato.
Pagine affette
Un esempio si trova qui https://wiki.pokemoncentral.it/Via_Vittoria_(Nero_2_e_Bianco_2)#Grotta, ma sono sicuramente affette molte altre pagine che usano il template Trainerlist.
Risoluzione del problema
Se non vogliamo lasciare questa informazione errata e vogliamo tenere i bordi gradientosi in base al tipo, così su due piedi non mi vengono in mente soluzioni diverse da aggiungere due parametri facoltativi al template e correggere a mano tutte le pagine affette. C'è da tener presente però (oltre all'ovvia scomodità) che se in una futura generazione si aggiungesse un nuovo tipo che modifichi alcuni Pokémon già esistenti, ci si ritroverebbe di nuovo a dover correggere a mano un tot di pagine, quindi non sarebbe male se si riuscisse a trovare una soluzione migliore.