Gobject
Eduardo Matus
ematus en gmail.com
Sab Sep 22 20:01:20 CEST 2007
hola, gracias por respoder... tu dices algo asi?
def play(self,opciones ,target):
mpc = "mplayer -slave -quiet \"" + target + "\" 2>/dev/null"
self.pin, self.pout = os.popen2(mpc) #open pipe
self.loop = gobject.Mainloop()
self.startEofHandler()
self.loop.run()
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
Saludos.
On 9/22/07, Rafael Villar Burke <pachi en rvburke.com> wrote:
>
> 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
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
Más información sobre la lista de distribución Python-es