pokemoncentral / wiki-project

Coordinamento dello sviluppo tecnico di Pokémon Central Wiki
https://wiki.pokemoncentral.it
1 stars 0 forks source link

Tipi sbagliati nel Trainerlist #48

Closed lucas992x closed 5 years ago

lucas992x commented 6 years ago

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.

flavio-a commented 6 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.

CiaobyDany commented 6 years ago

@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.

lucas992x commented 6 years ago

Se riusciamo ad aggiungere un parametro gen mi sembra la cosa migliore, poi ci vorrà pazienza a metterlo nelle pagine già esistenti ma vabbé.

flavio-a commented 6 years ago

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.

flavio-a commented 6 years ago

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.

lucas992x commented 6 years ago

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.

flavio-a commented 5 years ago

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).

lucas992x commented 5 years ago

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.