Rafe wrote: > On Oct 24, 2:21 am, Christian Heimes <[EMAIL PROTECTED]> wrote: >> Rafewrote: >> > Hi, >> >> > I've encountered a problem which is making debugging less obvious than >> > it should be. The @property decorator doesn't always raise exceptions. >> > It seems like it is bound to the class but ignored when called. I can >> > see the attribute using dir(self.__class__) on an instance, but when >> > called, python enters __getattr__. If I correct the bug, the attribute >> > calls work as expected and do not call __getattr__. >> >> > I can't seem to make a simple repro. Can anyone offer any clues as to >> > what might cause this so I can try to prove it? >> >> You must subclass from "object" to get a new style class. properties >> don't work correctly on old style classes. >> >> Christian > > All classes are a sub-class of object. Any other ideas?
Hard to tell when you don't give any code. >>> class A(object): ... @property ... def attribute(self): ... raise AttributeError ... def __getattr__(self, name): ... return "nobody expects the spanish inquisition" ... >>> A().attribute 'nobody expects the spanish inquisition' Do you mean something like this? I don't think the __getattr__() call can be avoided here. Peter -- http://mail.python.org/mailman/listinfo/python-list