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