[Zope-dev] __setattr__ and acquisition ( was RE: __getattr__ and acquisition)

Shane Hathaway shane@zope.com
Wed, 05 Jun 2002 10:03:08 -0400


Nicholas Henke (by way of Nicholas Henke ) wrote:
> Given the following code:
>  I can see why access to self.thing fails in Inner::__setattr__, but the 
> question is how do I do that -- can I not use __setattr__ and have to use a 
> setAttr that is accessed via O.I.setAttr('help','me rhonda') ?

Acquisition uses a subtle trick that makes everything work: the "self" 
passed to most methods is actually an acquisition wrapper, rather than 
the object itself.  But the "self" passed to certain methods like 
__setattr__() is not wrapped.  I'm sure there's a good reason.

HTH.

Shane