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