Veran, tengo una funcion (getResource()) que crea un objeto de notificacion, esto con la idea de imprimir en el cuerpo de este el porcentaje de una descarga, para esto ultimo utilizo urllib.urlretrieve y trabaja bien.
#global
note = 0
...
def getResource():
global note
...
if not pynotify.init("g2u"):
print(">> Failed to load notification.")
note = pynotify.Notification("g2u", "Downloading ...")
note.set_urgency(pynotify.URGENCY_NORMAL)
note.set_timeout(pynotify.EXPIRES_NEVER)
note.add_action("clicked", "Cancel", callbackGetCancel)
urllib.urlretrieve(url, local, reporthook=callbackGetProgress)
Esta es la funcion que actualiza el mensaje de la notificacion:
def callbackGetProgress(count, block, total):
global note
pg = int((count * block * 100) / total)
note.update("g2u", "descargando ...%2d%%" % pg)
if not note.show():
print(">> Failed to send notification.")
Y esta otra, la accion al presionar el boton del Notify, lo que quiero con esto es evitar la descarga y cerrar el mensaje, por ahora solo imprimo un mensaje en consola, pero esto no parece ejecutarse, en que parte estoy errando?
def callbackGetCancel():
print("Hace algo por la grandisima p***")
Sistema: Debian Sid
Gnome: 2.22.2
Python: 2.5.2-11-1
python notify: 0.1.1-2+b1
De paso, donde puedo encontrar la documentacion de este modulo(pynotify)?
Gracias.