[pyar] Decoradores de clase
Lucas Liendo
mindmaster en gmail.com
Dom Mar 4 19:51:04 ART 2012
Buenas a todos ! Queria consultar si es posible hacer algo asi :
@a_class_decorator
class ExampleClass(object) :
...
Donde "a_class_decorator" es un decorador de clase, que lo que deberia
hacer es agregar atributos a la clase decorada. Intente algo como lo
siguiente, pero no funciona :
class SimpleClassDecorator(object) :
def __init__(self, c) :
self._c = c
def __call__(self) :
DecoratedClass = type("DecoratedClass", (self._c.__name__, ),
{"augmented_method" : self.augmented_method})
return AugmentedClass
def augmented_method(self) :
print "test"
@SimpleClassDecorator
class SimpleClass(object) :
def __init__(self) :
self.attr1 = "attr1"
self.attr2 = "attr2"
def print_all(self) :
print self.attr1, self.attr2
if __name__ == "__main__" :
sc = SimpleClass()
sc.print_all()
sc.augmented_method()
El siguiente error es devuelto :
TypeError: metaclass conflict: the metaclass of a derived class must be a
(non-strict) subclass of the metaclasses of all its bases.
Estuve leyendo un poco de metaclases pero veo que no logro aplicar bien lo
que pude entender del tema :P. Muchas gracias !
--
Saludos,
Lucas.
_
__("<
\__/
^^
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120304/a7217306/attachment.html>
More information about the pyar
mailing list