QViaggiaTreno 20011.2.2

QViaggiaTreno è un front-end grafico a ViaggiaTreno, il servizio web di Trenitalia con informazioni in tempo reale sulla circolazione dei treni passeggeri.

È scritto utilizzando le librerie Qt 6 e può essere eseguito sotto Linux, Windows e Mac

Italo:

La ricerca per numero, nelle schede treno e nelle liste salvate, interroga anche
Italo quando ViaggiaTreno risponde che il numero non e' valido. Le ricerche con
un codice di origine ViaggiaTreno esplicito restano su ViaggiaTreno.
Gli errori di rete/HTTP o di analisi non attivano la ricerca su Italo.

Il servizio utilizzato e' quello del sito pubblico Italo in viaggio:
https://italoinviaggio.italotreno.com/api/RicercaTrenoService?TrainNumber=9908
Non richiede una chiave API, ma non e' un'API pubblica documentata/stabile e
potrebbe cambiare. Mostra solo le informazioni disponibili per la giornata;
un risultato vuoto non prova che il numero non esista nel calendario.
La documentazione https://github.com/SimoDax/Italo-API/wiki/API-Italo
descrive invece le API di prenotazione/orario autenticate (BIG): non sono
necessarie per questo servizio di circolazione in tempo reale.
Le fermate future mostrano gli orari previsti, non quelli effettivi. I dati
segnalati come non aggiornati da Italo sono indicati esplicitamente.
La fonte Italo compare nel titolo/categoria del treno e nell'aggiornamento
della scheda. Le liste .qvt non cambiano formato: la fonte viene rilevata
nuovamente ad ogni aggiornamento. Il timeout della richiesta Italo e' 15 secondi.

I tabelloni stazione uniscono arrivi e partenze ViaggiaTreno con quelli del
servizio Italo RicercaStazioneService. L'elenco delle stazioni Italo viene
scaricato da getStations e mantenuto in memoria per la sessione. La corrispondenza
usa il nome esatto normalizzato; Reggio Emilia Mediopadana (anche "AV") viene
riconosciuta come Reggio Emilia AV, codice Italo AAV. "Reggio Emilia" da solo
non viene confuso con Mediopadana. I filtri categoria includono "Italo".
Arrivi e partenze sono ordinati per "Orario" crescente, mescolando i gestori;
a parita' di orario l'ordine resta stabile, gli orari mancanti vanno in fondo.
Le richieste Italo sono indipendenti dalla disponibilita' di ViaggiaTreno;
se una fonte fallisce, il tabellone mostra i dati dell'altra con un avviso
esplicito di dati parziali, senza conservare righe vecchie della fonte fallita.
Cliccando un numero Italo si apre direttamente la relativa scheda; il codice
origine riservato "Italo" permette anche di ripristinarla dalle impostazioni.

Test automatici (Qt 6, senza accesso alla rete):
  mkdir -p /tmp/qviaggiatreno-italo-tests
  cd /tmp/qviaggiatreno-italo-tests
  qmake6 /percorso/qviaggiatreno/tests/italo.pro
  make
  QT_QPA_PLATFORM=offscreen ./tst_italo

Ringraziamenti:

Voglio ringraziare tutte le persone che hanno provato le varie versioni beta che ho messo a disposizione segnalandomi bug o 
facendo suggerimenti. In particolare enza togliere niente a nessuno ringrazio:

- Eurocity, per aver verificato che qviaggiatreno si compila perfettamente anche sotto Mac OS X e per la compilazione di pacchetti per Mac
- Jack_A, per aver verificato che qviaggiatreno si compila sotto debian lenny
- msr.cooper per aver suggerito di usare due tonalità di giallo nella tabella delle partenze
- danny1984, trambvs, xyz per aver segnalato bug o difetti
- Il Max per segnalarmi immediatamente l'esistenza di treni soppressi o parzialmente soppressi permettendomi di individuare alcuni bug insidiosi
