12 gen 2010

Data, ora e previsioni atmosferiche con Nerdtool in stile HTC

HTC-NY


In questo post vediamo come applicare il tema degli smartphone HTC alle nostre classiche informazioni di data ora e previsioni atmosferiche sul nostro desktop, tutto rigorosamente con Nerdtool.

Per ogni componente cercherò di introdurre al meglio ciò che va fatto ma siccome un'immagine a volte è meglio di mille parole vi basterà impostare tutto come negli screenshot che seguono.
Per coloro che non sono minimamente interessati al procedimento ma vogliono la pappa pronta, alla fine del post ho inserito il link per scaricare un pacchetto zippato contenente le configurazioni di tutti gli item pronte per essere importate in Nerdtool oltre alle immagini necessarie che vanno spostate nella directory /tmp.

La prima cosa da fare è posizionare lo sfondo. Spostiamo il file HTC-bkg.png nella cartella /tmp e su NT aggiungiamo un item di tipo Image, lo rinominiamo in background e lo facciamo puntare all'immagine appena spostata.

01 background


Passiamo quindi a modellare le ore e i minuti. Su Nerdtool aggiungiamo un item di tipo Shell e lo posizioniamo nella lista direttamente sopra il precedente, quindi lo rinominiamo in hours, definiamo carattere e dimensione e lo posizioniamo in modo da centrarlo nel riquadro apposito dello sfondo.

02 hours


A partire da questo item, facendo click sul pulsante a forma di ingranaggio, possiamo clonarlo per generare l'item per i minuti. Rinominiamo l'item clonato in minutes e lo sposiamo sull'asse x in modo da farlo combaciare nel suo riquadro sullo sfondo.

Immagine 1


Quindi non ci resta che aggiungere l'item per indicare AM/PM.

04 am-pm


Per rendere più vero l'effetto dei "numeretti del macellaio" poassiamo usare l'immagine HTC-sep.png come segue. Aggiungiamo un nuovo item di tipo Image, lo rinominiamo in lines e lo facciamo puntare all'immagine che avremo preventivamente spostato in /tmp.

06 lines


Infine aggiungiamo l'item per la data odierna nella parte bassa a destra, sotto l'indicatore dei minuti.

06 date


Se abbiamo eseguito tutti i passaggi alla lettera, a questo punto dovremmo avere qualcosa di molto simile all'immagine qui sotto:

07 preview


Se così non è allora significa che avete sbagliato qualcosa, quindi tornate indietro e controllate meglio le varie impostazioni.

La parte inferiore contiene tutte le indicazioni relative alle previsioni atmosferiche. Inutile dire che, in assenza di connessione a internet, tutta quest'ultima parte non sarà visualizzata sullo schermo poichè non sarà possibile recuperare i dati necessari dalla rete appunto.

La parte inferiore sinistra è costituita da 3 item distinti rappresentanti in ordine l'indicazione della città di cui si visionano le condizioni atmosferiche, la condizione atmosferica attuale e la temperatura attuale. Tutti gl script che li compongono sono identici nella prima parte, ovvero nell'indicazione dei dati da scaricare, ciò che differisce è la parte necessaria a filtrare le informazioni che servono ai singoli item.

08 weather_loc

09 weather title

10 temperatures


A completare il tutto ci sono altri 3 item: lo script per recuperare l'immagine raffigurante la condizione atmosferica, l'immagine stessa al centro e le previsioni per il giorno successivo nella parte destra. Anche questi, esclusa l'immagine che costituisce un item di tipo Image, hanno la prima parte dello script identica e la coda che ne filtra le informazioni in base a quello che vogliamo.

11 weather curl

Immagine 2

12 forecast


Come al solito, per avere tutti gli script definitivi basta importare in Nerdtool i file nel pacchetto zippato, per eventuali ulteriori spiegazioni lasciate un commento.

Tutti gli script necessari sono descritti in questa tabella.

Download NerdTool_HTClike_export.zip

password: nerdtool-HTClike-20100112

23 commenti:

Unknown ha detto...

grande....ora il mio desk è stupendo!
complimenti!...il top sarebbero le previsioni in italiano..peccato!

chitebbeiv ha detto...

il problema è trovare un servizio di forecasting in italiano come si deve, se ne conosci qualcuno mandami i link così vedo cosa si può fare.

Unknown ha detto...

e si...son tutti stranieri...se trovo qualcosa comunque te la posto..mi interesserebbe!

Unknown ha detto...

tipo questo
http://www.meteowebcam.it/
non so se l hai visto..ha gli rss divisi per citta

Unknown ha detto...

Io non riesco a scompattare il file zip che hai pubblicato. :( "Impossibile decomprimere".

chitebbeiv ha detto...

@andrea
ci sto dando un'occhiata, credo di poterci cavare qualcosa. appena ho qualche risultato soddisfacente lo posto qui.

@Enrico
quello che ho condiviso è un file zip criptato, devi inserire la password scritta sotto il link per decomprimerlo.

chitebbeiv ha detto...

sono riuscito a ottenere la stringa della condizione atmosferica in italiano tramite il link al RSS del sito indicato da andrea. la soluzione che ho adottato è decisamente spartana, ma effettuare parsing su del codice HTML è un lavoraccio immane e inutile, la cosa importante è che funzioni, quindi testatelo e fatemi sapere:

curl --silent "http://www.meteowebcam.it/rss/Roma.xml" | grep -e "<tr id=\"riga_22\">" | sed -e 's/[^ç]*><\/td><td>//' -e 's/<[^ç]*//'

Unknown ha detto...

@chitebbeiv: l'utility di estrazione non me la chiede nemmeno la password, e non mi decomprime l'archivio. :(

chitebbeiv ha detto...

immagino che tu stia usando il compressore di default installato su Mac OS... io ho appena rifatto la prova sia con The Unarchiver che con 7zX e vanno bene, prova a installare uno dei due (ti consiglio il primo!) e riprova.

Unknown ha detto...

grande chitebbeiv
...c e qualcosa che non va secondo me...mi visualizza si" nuvoloso" e "8.5" ma in mezzo a tutti i frammenti di codice...a te fa uguale??

chitebbeiv ha detto...

strano... dovrebbe visualizzare solo la condizione atmosferica, tutti i codici e quell'8.5 non dovresti vederli, o almeno io non li vedo...
l'errore era un altro, ovvero se la condizione atmosferica è del tipo "Parzialmente nuvoloso" prima veniva visualizzato solo "Parzialmente", ho perfezionato questa cosa e ora va bene.

curl --silent "http://www.meteowebcam.it/rss/Roma.xml" | grep -e "<tr id=\"riga_22\">" | sed -e 's/[^ç]*><\/td><td>//' -e 's/<br \/>/ /' -e 's/<[^ç]*//'

Unknown ha detto...

cioe a me esce proprio una roba cosi
http://img15.imageshack.us/img15/1017/schermata20100115a14362.png
faccio una nuova shell e ci incollo il codice
non è che trascrivendo il codice sul forum qui qualche carattere è sballato e facendo il copi c e qualche errore?

chitebbeiv ha detto...

imageshack ha rimosso la tua immagine quindi non ho idea di cosa vedi sul tuo schermo...
il codice l'ho convertito opportunamente in html quindi dovresti vederlo esattamente come lo vedo io.
prova a scaricare questo file di testo, per verificarne il funzionamento copia e incolla il testo in Terminale e dai invio.

Unknown ha detto...

mi devi scusare...
http://img13.imageshack.us/img13/8878/schermata20100116a21024.png
questo è quello che vedo ma è molto meno di quello che vedevo prima con quest ultimo codice che mi hai passato...ho solo quei fastidiosi td /td
oltretutto se uso il terminale mi da direttamente nuvoloso e basta quindi funzia ma nerdtool non me lo fa funzionare

chitebbeiv ha detto...

ho provato lo script che ti postavo direttamente su nerdtool e mi sono accorto che non funziona come dovrebbe... questo è molto strano, perchè sembra quasi che non riconosca correttamente il carattere ç e quindi sballa l'espressione regolare. ora anzichè ç ho messo # e a me funziona, fai una prova tu e fammi sapere.

curl --silent "http://www.meteowebcam.it/rss/Roma.xml" | grep -e "<tr id=\"riga_22\">" | sed -e 's/[^#]*><\/td><td>//' -e 's/<br \/>/ /' -e 's/<[^#]*//'

Unknown ha detto...

te sei un grande!!!funziona perfettamente...questo è il codice ufficiale!!grazie mille!!

naomac ha detto...

ho alcuni problemi..innanzitutto, la stringa definitiva per le condizioni in italiano, è da inserire in "forecast"?
secondo..per la località, come si fa ad impostare il proprio paese?
scusate la mia ignoranza, grazie in anticipo..

chitebbeiv ha detto...

"forecast" è solo un item con un nome per meglio identificare l'informazione che quella stringa produce.
il codice della località dipende dal servizio da cui prendi i dati, in questo caso si tratta di meteowebcam.it quindi per avere le previsioni relative alla tua città devi prima fare una ricerca all'interno del sito meteowebcam.it e poi sostituire illink del feed RSS relativo a essa nella parte dello script delimitata dalle ".
ad esempio, se anzichè Roma volessi il meteo di Milano, lo script da usare sarebbe:
curl --silent "http://www.meteowebcam.it/rss/Milano.xml" | grep -e "<tr id=\"riga_22\">" | sed -e 's/[^#]*><\/td><td>//' -e 's/<br \/>/ /' -e 's/<[^#]*//'

naomac ha detto...

grazie mille, veramente gentilissimo! se ho altri problemi non esiterò a chiederti altri chiarimenti!!

naomac ha detto...

ah ecco ancora un dubbio..ma se usiamo meteowebcam al posto che yahoo, oltre alla parte tra virgolette contenente il link del feed, è necessario modificare anche i vari script rispetto a quelli contenuti nel file zippato? perchè noto alcune differenze tra lo script che hai postato tu e quelli presenti nel file zip..

chitebbeiv ha detto...

si, per usare i dati di meteowebcam.it andrebbero modificati tutti gli script del file zippato, però ho creato quello script da meteowebcam.it su richiesta di andrea semplicemente per avere le previsioni atmosferiche testuali in italiano, tutti gli altri dati sono numerici e non fa differenza se sono in italiano o inglese, pertanto non ha senso andare a creare altri script per meteoweb.it avendo già a disposizione quelli di yahoo.

Gianfra ha detto...

Sei un GRANDE, ne ho provati altri ma niente l'immagine non voleva saperne di apparire.
Con il TUO alla prima
Grazie

chitebbeiv ha detto...

noto con piacere che questo blog continua ad essere consultato nonostante l'abbandono da parte mia per cause di forza maggiore...
il problema più grosso è che non ho più un mac a disposizione quindi non posso più aggiornare le guide con le novità dei tool e le creazioni che mi vengono in mente.
certo sarei pronto ad assicurare un ritorno a pieno regime se solo qualcuno mi regalasse un caro buon mac, anche usato e non nuovissimo andrebbe bene... a buon intenditor poche parole ;)