[pyar] una receta útil en el recetario (corriendo funciones que demoran en gtk)

Martin Volpe martin.volpe en gmail.com
Lun Feb 21 18:50:43 ART 2011


Justo es algo que andaba buscando!
Es algo parecido a un defertothread de twisted.

Saludos!

2011/2/21 Mariano Guerra <luismarianoguerra en gmail.com>

> esta consulta suele salir seguido asi que considere hacer una clase
> que ayude con estas cosas
>
> la receta esta aca:
>
> http://python.org.ar/pyar/Recetario/GtkRunner
>
> lo que tienen que reusar es la clase GtkRunner
>
> simplemente la llaman pasandole:
>
>  * callback función o método que va a ser llamado en el main thread
> una vez que la función que demora termine
>  * func: función a llamar
>  * de 0 a n argumentos posicionales que serán pasados a func en la llamada
>  * de 0 a n argumentos nombrados que serán pasados a func en la llamada
>
> func(*args, **kwargs) sera llamada en un thread aparte el cual sera
> monitoreado periódicamente por su finalizacion,
> una vez terminado llamara a callback pasandole una tupla cuyo primer
> elemento es True si la función termino con éxito y False
> si la función lanzo una excepción. El segundo elemento de la tupla es
> el valor retornado por la función si tuvo éxito o la excepción lanzada
> en caso que haya fallado.
>
> obviamente en la función esa no pueden correr código relacionado con gtk
>
> espero que les sea útil, cualquier consulta pregunten por acá
>
> PD: alguna vez les conte del recetario? ;) es un lugar donde
> condenzamos pequeños fragmentos de código útiles para mostrar una
> funcionalidad.
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>



-- 
Martín Volpe @Argentina
<http://volteck.net>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110221/74d49402/attachment.html>


More information about the pyar mailing list