pygtk gobject y herencia multiple



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



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