Re: pygtk gobject y herencia multiple



On Fri, 2008-11-28 at 01:36 -0300, Aldrin Martoq wrote:
> [...]

> class AvahiBrowser(gobject.GObject, list):
> TypeError: Error when calling the metaclass bases
>     multiple bases have instance lay-out conflict
> Estuve buscando, pero no encontre algo facil de saltarme este problema
> (Metaclases y no se que, muy complejo y no me tinca).
> Alguien tiene alguna sugerencia o alternativa elegante? Basicamente
> quiero recibir notificaciones de cuando aparece/desaparece un servicio
> Y
> usarlo como lista, osea:

Me respondo yo mismo: basta implementar los metodos para sequencias[1]

class AvahiBrowser(gobject.GObject):
    ## sequence type support ##
    def __len__(self):
        return len(self.items)

    def __getitem__(self, key):
        return self.items[key]
    
    def __iter__(self):
        return self.items.__iter__()
    
    def __contains__(self, item):
        return self.items.__contains__(item)


Saludos a todos!


> ab = AvahiBrowser()
> ab.browse()
> ab.connect('found', metodo)
> 
> print "%d servicios encontrados:" % len(ab)
> for service in ab:
>    print "\t", service
> 
> 
> Gracias!
> 
> PS: adjunto el codigo si desean ver, para que funcione el demo
> intercambiar las lineas 83,84.
> 
-- 
Aldrin Martoq <amartoq dcc uchile cl>
http://aldrinvideopodcast.podshow.com/

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]