Gobject
Rafael Villar Burke
pachi en rvburke.com
Sab Sep 22 11:13:03 CEST 2007
Eduardo Matus wrote:
> holas, estoy tratando de utlizar gobject para determinar cuando se termina
> la comunicacion de una pipe... este es el codigo.. mas o menos..
>
> def play(self,opciones ,target):
> mpc = "mplayer -slave -quiet \"" + target + "\" 2>/dev/null"
> self.pin, self.pout = os.popen2(mpc) #open pipe
> self.startEofHandler()
>
> def startEofHandler(self):
> self.eofHandler = gobject.io_add_watch(self.pout, gobject.IO_HUP,
> self.test)
>
>
> def test(self,source,condition):
> print 'Something happend!!'
> print source
>
> el proceso se ejecuta bien, se supone que cuando termina de reproducir
> cierto archivo, el metodo gobject.io_add_watch deberia gatillar al metodo
> test, pero no funciona :S alguna idea?
>
¿Inicias el bucle de eventos de glib? Tendrías que hacerlo como último
paso, y es como poner el reloj en marcha, inciando la emisión de
eventos. Se puede hacer así:
loop = gobject.Mainloop()
loop.run()
para el caso de una aplicación 'sólo de gobject' o, más habitualmente, y
usando gtk:
gtk.main()
Saludos,
Rafael Villar Burke
Más información sobre la lista de distribución Python-es