Apr 28

Naviga3 Applet

Tag: Open source, Progettifenix @ 12:12

Naviga3 Applet è una comoda applet per GNOME utile per coloro che hanno attivato come me l’opzione naviga3 del gestore telefonico Tre.

Esistono varie guide su come configurare la connessione ad internet del proprio cellulare, ma per monitorare il traffico, l’unica opzione concreta, era interrogare da terminale, il comando vnstat.

Perciò ho deciso di scrivere questa semplicissima applet in modo da avere il tutto sotto controllo con una semplice icona nella barra delle notifiche.

Grazie ad essa è possibile tenere d’occhio in ogni istante il traffico internet effettuato con il proprio telefonino semplicemente con un click del mouse.

Inoltre si verrà avvisati con un messaggio di notifica quando sta per scadere il traffico disponibile per poter navigare.

L’applet è scritta in python ed è necessario aver installato il programma vnstat.

DOWNLOAD: naviga3-applet-beta-0.2.zip (AGGOIRNATO il 11/02/2009)

Per visitare il sito del progetto su Googe code: http://code.google.com/p/naviga3-applet/

Una volta scaricato per lanciarlo digitare:

python /PERCORSO_DOVE_SCARICATO/naviga3-applet/src/Naviga3.py

Il software è in sviluppo, quindi sono ben accetti qualsiasi tipo di consiglio o di supporto!

PS: Purtroppo non sono riuscito a creare un pacchetto deb o qualcosa con AUTOPACKAGE (da me preferito), se siete interessanti vi sarei grato se mi deste una mano!

La versione del programma è ancora molto BETA e purtroppo ultimamente non ho molto tempo per poterci lavorare.

La mia idea comunque era quella di creare un software simile a quello della 3 fornita per windows, quindi con la configurazione della connessione etc.

Se qualcuno è interessato vi prego di contattarmi.

16 Responses to “Naviga3 Applet”

  1. Blobblio says:

    ciao…a me non funziona riporta parecchi errori..manca l’immagine non conteggia e tutto…p.s. se ti va contattami…mai programmato in python ma penso che deve essere semplice…se ti va posso collaborare con te.ciao

  2. fenix says:

    @Blobblio
    Felicissimo di trovare qualcuno che voglia collaborare!
    Python è relativamente facile, se conosci altri linguaggi object oriented tipo Java, sarà tutto più sempice.
    Per gli errori potresti mandarmeli?
    Così posso controllare cosa non và?

    Ti contatto il prima possibile per darti ulteriori dettagli

  3. Giovanni says:

    Ottima idea e complimenti! Ho qualche problema con i path: per lanciare l’applet devo prima andare con cd nella directory in cui si trova Naviga3 e da lì far partire l’applet con “python Naviga3.py”. Ho messo la cartella con l’applet in “/opt”.

  4. Renato says:

    Ciao Fenix,
    premetto che sono nuovo di Linux… comunque,

    ho provato a compilare lo script Python
    per creare l’applet in questione dopo essermi
    scaricato sull’harddisk il file zippato…

    mi sembra di capire che la sottodirectory ‘/src/’ che tu
    indichi, inserita nella stringa di compilazione
    “python /PERCORSO_DOVE_SCARICATO/naviga3-applet/src/Naviga3.py”
    non esista all’interno del file zippato, ed al suo posto ci sia invece
    ‘/naviga3/’ comunque sia l’ho compilato richiamando
    “python/PERCORSO_DOVE_SCARICATO/naviga3-applet/naviga3/Naviga3.py”
    ed è uscito il seguente errore:

    > (Naviga3.py:3827): libglade-WARNING **: could not find glade file ‘./setting.glade’
    > Traceback (most recent call last):
    > File “naviga3-applet/naviga3/Naviga3.py”, line 132, in
    > naviga3 = Naviga3()
    > File “naviga3-applet/naviga3/Naviga3.py”, line 71, in __init__
    > xml = gtk.glade.XML(os.path.join(GLOBALS.glade_dir, “setting.glade”))
    > RuntimeError: could not create GladeXML object

    Sembra non trovi questo file di configurazione nascosto “./setting.glade”,
    ho bisogno di qualche altra libreria sul mio sistema?

    Dov’è l’inghippo?
    Grazie in anticipo…

  5. fenix says:

    @Giovanni @Renato
    Ho risolto alcuni problemi con il path dell’applicazione. Se scaricate ora il file zip non dovrebbero esserci problemi e potrete lanciare l’applet da qualsiasi percorso.

    p.s. se leggete questo messaggio:

    libglade-WARNING **: could not convert string to type `GdkPixbuf’ for property `icon’

    Anocra non ho capito bene da cosa derivi; molto probabilmente è il tema di GNOME che dà qualche problemino.

  6. Renato says:

    Ho compilato il nuovo sorgente appena postato:

    Compilazione ed esecuzione applet Naviga 3
    immagine del terminale con gli errori e miei
    commenti (che potrebbero essere del tutto sballati):

    …inizio
    [Renato@localhost ~]$ python naviga3-applet/src/Naviga3.py

    …questo errore sembra dovuto al fatto che non riconosca l’icona come risorsa
    …(l’errore dice che il file d’immagine non contiene dati)
    …quindi non caricando nulla non può neanche convertire nulla
    (Naviga3.py:3428): libglade-WARNING **: Error loading image: Il file d’immagine «/home/Renato/naviga3-applet/src/.» non contiene dati
    (Naviga3.py:3428): libglade-WARNING **: could not convert string to type `GdkPixbuf’ for property `icon’

    …conteggi
    INFO:naviga3_applet:Execute: vnstat –days –dumpdb -i ppp0
    INFO:naviga3_applet:Execute: vnstat –days –dumpdb -i ppp0

    …questo errore avviene quando si apre la finestra “impostazioni” con il menù
    dalla finestra di selezione interfaccia (lo - ppp) non si può scegliere nulla
    (schermata impostazioni.png) - sembra inoltre che non trovi il file ’settings.xml’
    [Errno 2] No such file or directory: ’setting.xml’
    Caricate impostazioni di default.

    …conteggi
    INFO:naviga3_applet:Execute: vnstat –days –dumpdb -i ppp0
    INFO:naviga3_applet:Execute: vnstat –days –dumpdb -i ppp0

    …questo errore avviene quando si clicca sull’icona “3″ col pulsante sinistro
    e la nuvoletta dell’avviso va quasi completamente al di fuori dello schermo
    in alto a destra sul pannello
    (schermata.png)
    INFO:naviga3_applet:Execute: vnstat –days –dumpdb -i ppp0
    gtk-dialog-error

    questo è tutto… spero di essere stato utile.
    Segue un e-mail con lo stesso testo e le immagini allegate…

  7. Giacinto says:

    Salve, ho provato anche io ad utilizzare l’applet e ho vari errori. Riesco a farla partire, comunque, ma non vede la connessione, forse perchè mi connetto utilizzando una chiavetta umts? ho provato a selezionare i vari tipi di connessione ma non va con nessuna.. c’è modo di risolvere? sarebbe di grande utilità!!

  8. Tole says:

    Ciao!
    Innanzitutto complimenti per l’ottimo lavoro che fino ad ora hai fatto! La tua applet sta felicemente girando sul mio PC e funziona egregiamente anche con KDE.
    Ho dovuto un po’ lavorarci su, ma devo dire che essendo una beta me lo aspettavo.
    Non sono un esperto programmatore ne tantomeno di linux, però ti riporto la mia esperienza e
    sarò ben lieto di aiutarti per quanto possibile (non conosco il python, ma si può sempre imparare).
    Vengo al dunque: il metodo che richiami ciclicamente per aggiornare le statistiche sul mio sistema non aggiorna il database di vnstat e quindi legge sempre gli stessi dati. Ho risolto con un semplicissimo script che esegue ogni 10 secondi “vnstat -u -i ppp0″. Da cosa può dipendere? Ho dovuto ovviamente modificare anche i permessi della cartella dove vnstat salva il database perchè lo script lo lancio come user normale attraverso kppp dal quale lancio anche l’applet subito dopo connesso. Sarebbe anche utile secondo me un’opzione di disconnessione automatica senza conferma (se sto scaricando e non sono davanti al pc?)

  9. fenix says:

    @Tole
    Ciao Tole, grazie tante per i complimenti! :-)
    Ho appena rilasciato una beta 0.2 dell’applet che ti invito a provare.
    La novità importante è che ora include wvdial al suo interno così da non utilizzare altri programmi per connettersi al modem.
    Purtroppo non stò avendo molto tempo da dedicare al progetto (anche se voglio portarlo presto ad una 1.0) ed essendo unico sviluppatore è ancora peggio.
    Python è relativamente semplice ed io l’ho imparato in poco tempo e approfondito con questa applet.
    Se ti và di unirti fammi sapere così ti mando un pò di cose in cui ti descrivo meglio come partecipare.

    Grazie ancora, e spero a presto!

  10. Tole says:

    Sarei molto felice di partecipare, fosse anche solo come “beta tester”.
    Il python mi interessa molto, ed infatti sto cercando di informarmi quanto più possibile anche perchè ho in progetto la realizzazone di un piccolo programma che dovrebbe inviare degli sms all’occorrenza di alcuni eventi (usando la internet key della tre). Ho provato a fare uno script al volo prendendo spunto da un sito e funziona alla grande. Si potrebbe integrare nell’applet la funzione che ne pensi? Intanto sto provando la nuova versione dell’applet su una KDE 4.1 appena installata sul mio portatile. Ti farò sicuramente sapere impressioni ed eventuali bug.

  11. Federico says:

    Quando lo eseguo mi ritorna questo errore
    INFO:naviga3_applet:Exit code:127
    Impossible executing of: vnstat –days –dumpdb -i ppp0
    gtk-dialog-error

  12. Tole says:

    scusa la domanda cretina, ma hai installato vnstat?
    Se lo esegui da terminale cosa succede? Ti ricordo inoltre che di default vnstat crea il database in una cartella che richiede i diritti di root: /var/lib/vnstat/
    Prova a modificare i diritti per questa cartella e poi a dare il comando “vnstat -u -i ppp0″ eventualmente con sudo.

    Messaggio per fenix… io aspettavo una qualche tua risposta, ma non ricevendola nel frattempo sono andato avanti per conto mio. In effetti il python non è molto difficile da imparare. Però io sono ripartito da pyWvDial-0.5 ed ho aggiunto le cose di cui avevo bisogno. Ho provato a modificare il tuo script ma non ci ho capito molto e quindi ho fatto un passo indietro, anche se ho recuperato tutta la sezione per le notification… (ma è stato più utile per imparare il python), Ho abbandonato vnstat e creo direttamente il database con pySQLite con solo i dati di cui ho bisogno. Ora sto lavorando alla sezione per inviare gli SMS.
    Se non ti dispiace metto il link da dove si può scaricare: per ora l’ho postato nel forum di ubuntu per far velocemente (chi è interessato può fare una ricerca li intanto).
    Alla fine quello che più mi preme è che quei poco di buono della tre la smettano di fregare in questo modo tanti ma tanti eurini ai loro clienti…

  13. AleRitty says:

    Ciao!
    Io ho scritto un tool da riga di comando che fa praticamente la stessa cosa, ma in bash!
    Per questo tool ho usato degli strumenti il più possibile portabili, quindi invece di vnstat leggo direttamente i dati da /proc (che è quello che fa vnstat alla fin fine!)

    Mi piacerebbe collaborare per “fondere” questi due progetti ed avere uno strumento il più possibile portabile ed utile.
    Dato che python è ottimo per la portabilità, il tuo progetto è molto indicato per fare questo.
    La mia mail la hai, fammi sapere…

  14. AleRitty says:

    … Dimenticavo, il tuo tool come gestisce il “bug della mezzanotte”? Se legge i dati da vnstat temo male! Però la soluzione è semplice!

  15. eugenio says:

    salve, ho scaricato la versione 0.2 e l’ho fatta partire da Naviga3-applet.py: la connessione funziona e anche l’aggiornamento dei mega ma quando vado a disconnettermi non mi da il permessso e se vado a modificare qualche opzione mi da il seguente errore:
    DEBUG:PreferencesManager:on_Ok_clicked:
    /etc/wvdial.conf
    ERROR:PreferencesManager:[Errno 13] Permesso negato: ‘/etc/wvdial.conf’
    Traceback (most recent call last):
    File “/home/eugenio/Scrivania/naviga3-applet/naviga3/PreferencesManager.py”, line 281, in save_wvdialconf
    self.wvDialConfig.save_to_file(Globals.WVDIAL_CONF_FILE)
    File “/home/eugenio/Scrivania/naviga3-applet/naviga3/wvdial/WvDialConfig.py”, line 74, in save_to_file
    file_obj = open(cfgFilePath, ‘a’)
    IOError: [Errno 13] Permesso negato: ‘/etc/wvdial.conf’
    DEBUG:PreferencesManager:on_Ok_clicked:
    /etc/wvdial.conf
    ERROR:PreferencesManager:[Errno 13] Permesso negato: ‘/etc/wvdial.conf’
    Traceback (most recent call last):
    File “/home/eugenio/Scrivania/naviga3-applet/naviga3/PreferencesManager.py”, line 281, in save_wvdialconf
    self.wvDialConfig.save_to_file(Globals.WVDIAL_CONF_FILE)
    File “/home/eugenio/Scrivania/naviga3-applet/naviga3/wvdial/WvDialConfig.py”, line 74, in save_to_file
    file_obj = open(cfgFilePath, ‘a’)
    IOError: [Errno 13] Permesso negato: ‘/etc/wvdial.conf’

  16. loans canada says:

    portus.altervista.org is very informative. The article is very professionally written. I enjoy reading portus.altervista.org every day.

Leave a Reply