2013. július 2., kedd

Tasker+Időkép

Aki ismeri az Időkép-et, annak nem nagyon kell bemutatni. Talán ez a legjobb hazai időjárási oldal. Jó a felület, percre kész, lokalizált és legfőként pontos. Elérhető android-ra app formájában.
Na igen. Mindenre van egy app. Akinek csak előrejelzés kell és soha nincs szüksége percről-percre adatokra, vagy vízhő, hójelentés, stb-re annak való ez a task.
Könnyebb lenne rss-feedből, de sajnos az Időkép megszűntette eme igen hasznos funkcióját a sorozatos visszaélések miatt.

És akkor jöjjön, ami eddig még nem volt:
Időkép notification weather task

Két dolog kell hozzá:
valamiféle adatok, amit feldolgozhatunk
valamiféle net-kapcsolat szükséges lesz hozzá

Hozzunk létre egy új task-ot (az egyszerűség kedvéért "Idokep" néven).
+ Net -> HTTP Get (ezzel egy html oldalt töltünk le txt formátumba)
     Server:Port: m.idokep.hu
     Path: ?varos=Pecs (ha nem csalingálsz sokat. Ha igen, akkor lentebb lesz pár alternatíva) A város nevének formátuma: ékezetek nélküli, nagy kezdőbetűvel.
     Mime type: text/*
     Output file: (tetszőleges fájl, én csináltam az ilyeneknek egy temp mappát a Tasker mappájában) Tasker/temp/idokep.txt

+ File -> read file (beolvassuk a letöltött fájl-t)
     File: Tasker/temp/idokep.txt
     To var: %idokep (lokális változó)

Innentől már nincs is nehéz dolgunk. Ha megfelel a mobil netes nézet, akkor kitehetjük egy HTML-popup-ba és kész is vagyunk :)

Ha fel akarjuk dolgozni, akkor az %idokep változót kell szétdarabolni. Erre van egy nagyon jó függvény:
+ Variables -> variable split
     Name: %idokep
     Splitter: (alapesetben talán szóköz, de bármivel vághatsz) </table>
Nekünk most ez kell, mert a visszakapott txt-ben az adatok táblázatokban vannak. A variable split sorszámozott tömb-be darabolja az eredeti változót.
Ha van kéznél asztali gép, vagy szövegszerkesztő, ami jól keres, akkor könnyebb a dolog. Én gedit-et használok ezekre és nagyon gyorsan ki lehet keresni a tördeléseket.
A 4. táblázat tárolja a napi adatokat. Most ez kell, tehát levágjuk ennek az elejét is, így marad csak a táblázat:
+ Variables -> variable split
     Name: %idokep4
     Splitter: <table

Kikeressük a várost a fentebb taglalt elvet követve (strong /strong közé írták)
Variable split %idokep42, </strong>
Variable split %idokep421, <strong>

Ezzel megvan a város neve
+ Variables -> Array push
     Name: %idokepNapi
     Position: 1
     Value: %idokep4212

A következő a szöveges időjárásjelzés (</td> és <br/> között)
Variable split %idokep422, </td>
Variable split %idokep4221, <br/>
Itt még van egy teendő, mert ebben a sorban tabulátorokat is eldugtak
+ Variables -> variable search replace
     Name: %idokep 42213
     Search: /t
     Replace: yes
Array push %idokepNapi, 2, %idokep42213

Napi hőmérséklet (Ez is strong közé van írva és azzal már felaprítottuk, úgyhogy egy vágás maradt)
variable split %idokep422, <strong>
Array push %idokepNapi, 3, %idokep4222

Kiírjuk valahová. Én értesítésnek teszem ki, így meg tudom nézni bármikor

+ Alert -> Notification
     Title: Időkép - %idokepNapi1
     Text: %idokepNapi3, %idokepNapi2
     Icon, number, permanent: opcionális

És egy stop a végére.
Task -> stop

Task letöltése

Köszönet az Időképnek





1 megjegyzés: