SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: shakka en Miércoles 18 de Febrero de 2009, 23:22

Título: No se ejecuta accion en Notificacion
Publicado por: shakka en Miércoles 18 de Febrero de 2009, 23:22
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.

Código: Python
  1. #global
  2. note = 0
  3. ...
  4.  
  5. def getResource():
  6.     global note
  7.    
  8.     ...
  9.        
  10.     if not pynotify.init("g2u"):
  11.         print(">> Failed to load notification.")
  12.    
  13.     note = pynotify.Notification("g2u", "Downloading ...")
  14.     note.set_urgency(pynotify.URGENCY_NORMAL)
  15.     note.set_timeout(pynotify.EXPIRES_NEVER)
  16.     note.add_action("clicked", "Cancel", callbackGetCancel)
  17.    
  18.     urllib.urlretrieve(url, local, reporthook=callbackGetProgress)
  19.  
  20.  
  21.  

Esta es la funcion que actualiza el mensaje de la notificacion:

Código: Python
  1. def callbackGetProgress(count, block, total):
  2.     global note
  3.    
  4.     pg = int((count * block * 100) / total)
  5.     note.update("g2u", "descargando ...%2d%%" % pg)
  6.        
  7.     if not note.show():
  8.         print(">> Failed to send notification.")
  9.  
  10.  

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?


Código: Python
  1. def callbackGetCancel():
  2.     print("Hace algo por la grandisima p***")
  3.  


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.
Título: Re: No se ejecuta accion en Notificacion
Publicado por: RadicalEd en Viernes 20 de Febrero de 2009, 21:25
No es mucho en lo que te pueda ayudar, pero acá encontrarás lo que buscas /usr/share/doc/python-notify/examples, al parecer es una libreria desarrollada por gnome por eso no encuentras nada en la documentación oficial.