Tengo una clase python que encapsula el browsing de servicios zeroconf/avahi; funciona bastante bien: basta crearla y emitira signals para cada servicio encontrado/desaparecido; ademas mantiene un listado interno de los servicios encontrados. Ahora quiero que esta clase se comporte como una secuencia, de manera de poder iterar o saber el # de servicios disponibles segun el browser. Entonces, lo natural pense en multiheredar la clase, pero tengo el siguiente error: 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: 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:
problema-multiherencia.tar.gz
Description: application/compressed-tar
Attachment:
signature.asc
Description: This is a digitally signed message part