From: "Andreas Kostyrka" <[EMAIL PROTECTED]> > Nope it is not. In a normal method you can access something acquired > like this: > self.acquired_value.
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 > chain. 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) self._v_ignore_attrib= # Return it in context of self, forgetting # its location and acting as if it were located # in self. return aq_base(subob) else: self._v_ignore_attrib.append(name) 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, .... > > Andreas > > _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )