Úvod

Kategorie









Odkazy

Kontakt
Galerie
MHD
Zvířectvo
Geocaching
Fotoalba
Videotéka
Poslouchám...

Kalendář akcí

«Březen 2010»
PoÚtStČtSoNe
1234567
891011121314
15161718192021
22232425262728
293031    

Poslední komentáře

Kato (26.2.2010)
  Palm Prē s webOS 1.4
Tomas (26.2.2010)
  Palm Prē s webOS 1.4
gymMiley (10.2.2010)
  Nový přírustek:…
nicmoc (2.2.2010)
  µ: 1/12 roku za…
nicmoc (12.1.2010)
  µ: Avatar 3D v…
nicmoc (12.1.2010)
  µ: Za 2 dny do…

Odjinud

Jak se moderují diskuze u nás a v zahraničí -…
Explorer od Microsoftu
Nový pražský autobus
Mozilla Labs představila Snowl

Doporučuji

  Hosting BlueBoard.cz

Denní informace o tarifu

vloženo 3.5.2009, 11:30 do kategorie Mobility
 

Samoobsluha Jsem člověk, co má rád výdaje a vše okolo nich pod kontrolou, zvláště co se mobilního telefonu týče. Proto mám rád Vodafone, protože poskytuje téměr aktuální informace o tom, jak si stojím – kolik můžu vyčerpat kreditu, kolik jsem zaplatil mimo tarif, kolik jsem přenesl dat a kolik mě to bude stát.

Vodafone sice nabízí pravidelný informační SMS, ty jsou však buď rozdělené do několika (data a tarif zvlášť), nebo neobsahují informace, co mě zajímají. Nehledě na tom, že zpráva měla chodit pravidelně, po měsíci začaly být zprávy spíše nepravidelné a o aktuálnosti jsem si bohužel mohl nechat zdát *83*

Vždy jsem měl ale možnost nahlédnout do Vodafone Samoobsluhy, kde jsem viděl aktuální data.

A protože jsem hračička a chtěl se přesvědčit, jestli jsem se něco naučil v Pythonu, napsal jsem si skript, který se v pravidelném intervalu do samoobsluhy přihlásí a zkontroluje údaje, které požaduji – ty mi následně pošle SMSkou (pomocí mobilního emailu) *40*

Stáhnutí kódu

Stáhnutí kódu je poměrně snadné. Zdroje jsem umístil na GitHub. Pro stažení je potřeba mít v počítači nainstalovaný git. Stačí vejít do nějakého adresáře a zavolat:

git clone git://github.com/Georgo/vodafone-samoobsluha.git vodafone-samoobsluha

Tím se v adresáři vodafone-samoobsluha naklonuje repozitář se skripem. Pokud v budoucnu dojde k upgradu skriptu, lze dostažení zdrojů provést pomocí příkazu

git pull

Konfigurace

Nastavení skriptu je poměrně snadné – stačí pouze nastavit přihlašovací jméno a heslo pro Vodafone CZ Samoobsluhu a email, kam se posbírané informace odešlou. Konfigurace se nachází téměr na začátku skriptu:

class samoobsluha:
  user      = "Your-Phone-Number"
  passwd    = "Base64-encoded-Passowrd"
  sendto    = ["Your-Mobile-Email@vodafonemail.cz"]
  sendfrom  = "Email-sender"

Do položky user se zapisuje telefonní číslo bez +420 – čili například 608123456.
Do položky passwd se zapisuje heslo k samoobsluze, pro alespoň minimální bezpečnost je zakódované do base64. Heslo v base64 lze získat snadno, například máte-li heslo „123456“, pak stačí z kozole pustit intepretr python a zapsat snadný kód:

import base64
base64.encodestring("123456").strip()

Jako výsledek dostaneme:

'MTIzNDU2'

Další položkou je sendto. To nastavuje emailovou adresu, kam budou údaje odeslány. Adres může být klidně více, stačí je oddělit čárkou.
Poslední, ale důležitou položkou je sendfrom. To označuje emailovou adresu, ze které bude email odeslán. Je poměrně důležité, aby tato emailová adresa existovala, protože Vodafone Email brána tuto adresu kontroluje a emaily z neexistujících domén zahazuje.

Automatické spouštění pomocí cronu

Nyní si to stačí nastavit jen do cronu, případně spouštět ručně a je hotovo. cron mám například nastavený takto (upozorňuji, že cesta k souboru u vás může být jiná):

45 7 * * * /usr/local/bin/samoobsluha.py || /usr/local/bin/samoobsluha.py || /usr/local/bin/samoobsluha.py

Znamená to, že se mi každý den ráno v 7:45 spustí skript. A proč tak zběsile? Hned vysvětlím.

Co skript dělá?

Přijatá SMS ze skriptu Nebudu podrobně popisovat funkci skriptu, od toho máte možnost nahlédnout do zdrojového kódu. Jen ve stručnosti:

  • Skript se přihlásí a získá přihlašovací token
  • Zkontroluje stránku s informacemi o aktuálním účtu
  • Zkontroluje stránku s informacemi o zbývajícím kreditem
  • Zkontroluje stránku s informacemi o datových přenosech
  • Se získanými informacemi pak pošle email

Pokud nějaký z těchto kroků selže, aplikace se ukončí jiným stavem, než unixově korektním kódem 0 – Občas nastane situace, že samoobsluha dlouho neodpovídá, nebo je chvilkově mimo provoz. Pak pomůže právě podmínka v cronu, kdy se skript zkusí spustit 3× po sobě.

Rozšiřování

Pokud nepotřebujete všechny údaje ze skriptu, fantazii se meze nekladou. Myslím, že skript je psán tak, aby šel snadno pochopit a případně upravit.

Pokud máte nějaký námět, co přidat, jak rošířit, či upravit, připomínkám se bránit nebudu *18*

Komentáře

nicmoc

vloženo 3.5.2009, 17:51, reagovat

A co účet doma za elektřinu…

Mocela

vloženo 11.5.2009, 9:39, reagovat

To je docela hustotka, ale pro me, obycejneho smrtelnika, je stale rychlejsi se do samoobsluhy proste lognout a cucnout kolik tam mam i treba z mobilu :)

Nový komentář







Prosím, nevyplňujte: