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