[pyar] old style classes en Twisted

Juanjo Conti jjconti en gmail.com
Sab Ago 28 22:27:55 ART 2010


Cuando uno quiere usar super en una clase que hereda de una old style class
obtiene este error:

TypeError: super() argument 1 must be type, not classobj

Acá está explicado:
http://www.wellho.net/mouth/2409_TypeError-super-argument-1-must-be-type-not-classobj-Python-.html

En Twisted, me encontré necesitando hacer super en métodos de clases que
tienen este problema, como LineOnlyReceiver. Cómo lo soluciono? Opté por
hacer algo como:

ClasePadre.metodo(self, *args, **kwargs)

Es mala esta solución? Tiene algún efecto secundario?

Si el código es tuyo, la mejor solución es cambiar tus old style classes a
new style, pero al usar un sofware de terceros, como Twisted, no lo veo como
una opción.

Saludos!!
-- 
Juanjo Conti
blog: http://www.juanjoconti.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100829/9c81b760/attachment.html>


More information about the pyar mailing list