- #!/usr/bin/env python 
- #Desarrollado por RadicalEd 
-   
- import sys, os 
- import pynotify, MySQLdb 
-   
- #Tomado nuevamente del blog de Daniel Garcia Moreno 
- comando = 'zenity --text "Kilometraje actual" --entry' 
- entrada, salida = os.popen2(comando) 
- kmact = salida.read() 
- kmact = int(kmact.strip())#Lo convertimos a entero 
-   
- #Nos conectamos a la DB 
- conn = MySQLdb.connect(host="localhost", user="usdist", passwd="clio1214", db="paginafiles") 
- #Creamos un cursor para ejecutar las sentencias SQL 
- cursor = conn.cursor() 
- #El script a ejecutar 
- cursor.execute('SELECT * FROM gasto') 
- registros = int(cursor.rowcount) 
-   
- #Instanciamos variables 
- #Se que dieciocho mil pesos en mi moto son 450km de gasolina (100%) 
- dinerogas, kmgasolina = 18000, 450.0 
- #Se que trece mil cuatrocientos en mi moto son 1500km de aceite (100%) 
- dineroace, kmaceite = 13400, 1500.0 
- gasolina = 0 
- aceite = 0 
- mostrar = '' #Mensaje a mostrar 
-   
- #Campos de la DB 
- for x in range(registros): 
-   row = cursor.fetchone() 
-   gasto = row[4]  #Tipo de gasto 
-   #Para hacer la suma de cuanto llevamos en GASOLINA y en ACEITE 
-   if gasto == 'GASOLINA': 
-       gasolina += int(row[2]) 
-       ultkmgas = int(row[3])  #Ultimo kilometraje gasolina 
-       ultfechagas = row[1] #Ultima fecha gasolina 
-   elif gasto == 'ACEITE': 
-       aceite += int(row[2]) 
-       ultkmace = int(row[3])  #Ultimo kilometraje aceite 
-       ultfechaace = row[1] #Ultima fecha aceite 
-   
- #Calculos 
- gastogas = kmact - ultkmgas  #Gasto gasolina 
- kmrestgas = kmgasolina - gastogas  #Kilometros restantes gasolina 
- porcentgas = (kmrestgas / kmgasolina) * 100  #Porcentaje restante gasolina 
- gastoace = kmact - ultkmace  #Gasto aceite 
- kmrestace = kmaceite - gastoace  #Kilometros restantes aceite 
- porcentace = (kmrestace / kmaceite) * 100  #Porcentaje restante gasolina 
-   
- #Alertas para gasolina y aceite 
- if kmrestgas <= 20: 
-   mostrar += 'Favor tanquear a tiempo, solo queda el %d%s restante de gasolina' % (porcentgas, chr(37)) 
-   
- if kmrestace <= 100: 
-   mostrar += 'nnFavor cambiar aceite a tiempo, solo queda el %d%s restante de este' % (porcentace, chr(37)) 
-   
- mostrar += "nnHas gastado %dkm en Aceite, te queda un %d%s osea %dkm" % (gastoace, porcentace, chr(37), kmrestace) 
- mostrar += "nnHas gastado %dkm en Gasolina, te queda un %d%s osea %dkm" % (gastogas, porcentgas, chr(37), kmrestgas) 
-   
- if __name__ == '__main__': 
-   if not pynotify.init("Al no iniciarse"): 
-       #Nos salimos 
-       sys.exit(1) 
-   
- n = pynotify.Notification(mostrar) 
- n.set_timeout(15000) #Que se muestre el mensaje durante 15 segundos 
-   
- #Sino se muestra 
- if not n.show(): 
-   print "Fallo al mostrar la info" 
-   sys.exit(1) 
-