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.


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to