From: "Andreas Kostyrka" <[EMAIL PROTECTED]>
> Nope it is not. In a normal method you can access something acquired
> like this:
I often do just that. :-) I'm not 100% sure what you need to include for
that to work, but I would expect that it is Aqcuisition.Implicit.
> The problem is, that __getattr__ does not have access to the acquisition
Well, it does, but it typically causes infinite recursion if you aren't
careful. Something like this might work (this is untested code, adapted from
something that is a bit more complex that we are doing):
def __getattr__(self, name, marker=None):
if not name.startswith('_') and not name.startswith('aq_'):
if not name in self._v_ignore_attrib:
subob = getattr(self,name,_marker)
# Return it in context of self, forgetting
# its location and acting as if it were located
# in self.
raise AttributeError, name
> Basically I want "Transparent Folders" which get their "transparent
> values from the Acquisition path.
Aha. Well, I wouldn't call it trivial, but it is definitely doable.
> Well, I just had an idea for an implementation:
> Third idea: I return some callable object the was generated specifically
> for the access from the __getattr__. This is than executed with
> Acquisition enabled, so it can try to get the real one, ....
> Problem: What if the attribute does not exist? I do not thing that Zope
> reacts to well when instead of a AttributeError exception it gets some
> object that raises AttributeError when accessed, ....
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -