Úvod

Kategorie









Odkazy

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

Kalendář akcí

«Únor 2012»
PoÚtStČtSoNe
  12345
6789101112
13141516171819
20212223242526
272829    

Poslední komentáře

Sweemigreella (29.1.2012)
  µ: Battlestar…
Georgo (24.1.2012)
  WiiMote k počítači
syky02 (24.1.2012)
  WiiMote k počítači
Jainnatef (26.12.2011)
  Cesta domů SC…
samsung-vibrant (1.12.2011)
  Cesta domů SC…
Franklin Marshall Sweatshirt (22.11.2011)
  Cesta domů SC…

Odjinud

Nový pražský autobus
Windows Mobile 6.5 na Touch Pro
Otevřený telefon je tady
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 :)

Snareeveadymn

vloženo 1.2.2011, 6:17, reagovat

bardzo ciekawe, dzieki

Nový komentář







Prosím, nevyplňujte: