Steve Alexander wrote:
> Of course, you can simplify it to:
> # acquire the object of name "attr" by context alone
> def aquire_by_context(self, attr):
>     ob = self
>     while hasattr(ob, 'aq_base'):
>         if hasattr(ob.aq_base, attr):
>             return self.restrictedTraverse(
>                     getattr(ob.aq_base, attr).getPhysicalPath())
>         ob = ob.aq_parent
>     # not found
>     raise KeyError, attr

I should point out that this is just for finding an object by context
The context-only acquisition meme doesn't get passed on to anything that
the returned object might in turn call.

This makes this external method less useful than having a fancy
acquisition context that checks for security by containment whilst
getting attributes by context. However, such a fancy acquisition context
would be much more complex to design.

Steve Alexander
Software Engineer
Cat-Box limited

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to