Wyatt Anderson wrote at 2004-5-24 13:01 -0400:
.... In a Python Product class, named TestAcquisition, I derive from Folder (which in turn gives me Acquistion.Implicit). This class defines an attribute which can dynamically be set to be acquired from nested TestAcquisition objects. In order to do this I test whether the attribute can be acquired (by checking to see if aq_parent has the attribute). In the top-level TestAcquisition object, this attribute should not be acquirable, and thus it will set it
self.attribute = 1
In sub-objects of TestAcquisition, by default the attribute will be acquired (which I test and do in manage_afterAdd) by setting
self.aq_explicit.attribute = Attribute.Acquired
Acquisition (and explicit acquisition) works differently from what you expect. If you have an acquisition wrapped "obj", then "obj.aq_explicit" rewraps "obj" into an explicit acquisition wrapper. "self.aq_explicit.XXX = ..." has the same effect as "self.XXX = ..." as assignment *always* effects the base object. Only lookup works differently for implicit and explicit acquisition wrappers. -- Dieter