glomde <[EMAIL PROTECTED]> wrote: > Hi, > > I tried to write a decorator for that should be for methods but for > some reasons > it doens seem to work when you try to do it on the __getattr__ method > in a class. > Could anybody give some hints why this is? ... > a.test # This doesnt call the __get__ !!! > > Output > __get__ <__main__.MyClass1 object at 0x4012baac> > hello1 > Traceback (most recent call last): > File "/home/tonib/test.py", line 27, in ? > a.test > File "/home/tonib/test.py", line 12, in __call__ > return self.func(self.instance, *args, **kwds) > AttributeError: 'decoratorTest' object has no attribute 'instance'
What Python release are you using? With Python 2.5, your code gives me instead: >>> a.test Traceback (most recent call last): File "<stdin>", line 1, in <module> File "a.py", line 11, in __call__ return self.func(self.instance, *args, **kwds) TypeError: __getattr__() takes exactly 2 arguments (3 given) >>> so there would seem to be some "mis-alignment" wrt the problems you observe... Alex -- http://mail.python.org/mailman/listinfo/python-list