[Python-es] callback definida por el usuario

lopz lowlifebob en gmail.com
Dom Mar 20 16:27:35 CET 2011


Hola

No sé si el título es correcto, no se me ocurrió otra cosa.
Les comento.. tengo una GUI realizada en GTK de desde la cual
con el botón de un menú tengo que hacer 2 cosas.
1.- Correr una webservice, para la cual uso webpy
2.- Correr una interfaz que lea un puerto ttyUSB

Ahora la estructura de mi código es así

gtkmain.py

engine
---------- interface.py
webservice
---------- service.py

Ahora lo que necesito como les dije es arrancar tanto interface.py
como service.py usando
el botón de mi gtkmain.py, pero como interface tiene que leer el
puerto cada X segundos
para ver si hay información entonces esto lo tengo que meter en un
while, el cual (no lo he probado)
pero bloqueará el bucle de gtk y se congelará la GUI, para esto he
visto que hay varias soluciones
usando gobject, threads y no sé si con el módulo multiprocessing se
podrá hacer.

Me imagino que webpy correrá en su propio threads que tiene su
servidor interno, creo que cherrypy
Ahora interface quiero lanzarlo en un thread a parte que no bloquee la
GUI, esto cómo debería hacerlo?
desde gtkmain lanzar en un thread el objeto interface? algo como
Threading.Thread(ibjInterface, ())
o interface heredar de la clase Threading y tener métodos run y stop y
usarlos desde los botones
de la GUI.

Y. la pregunta referente al título.. en el caso de interface me
gustaría que si hay dato en el puerto
realize una callback al estilo gtk, cómo podría hacer esto ?

saludOS!

Cuál sería la forma correcta de h



-- 
lopz es libre, usa --> GNU/linux gentoo

+--[RSA 2048]--+
|  ..o.o=+       |
|   o =o*.+      |
|  . . *oO .      |
|     .EBoo      |
|      o.S         |
+--[lopz.org]--+


Más información sobre la lista de distribución Python-es