Andreas Kostyrka <[EMAIL PROTECTED]> wrote: > Am Mon, 2002-09-23 um 00.18 schrieb Lennart Regebro: > > From: "Andreas Kostyrka" <[EMAIL PROTECTED]> > > > I've just discovered, that Acquisition does not work with __getattr__, > > > right? > > > > That depends on what you mean with "does not work". :-) > > > > > (I assume that this is so because something like getattr(mybase,attr) is > > > called during the acquisition process to prevent infinite recursion.) > > > > > > Anyway to get around that? (To basically get a wrapped self from > > > somewhere?) > > > > That's what self usually is... :-) > Nope it is not. In a normal method you can access something acquired > like this: > self.acquired_value. > Even more, this works for __bobo_traverse__. It just works for the > publishing not accessing my attributes later on during publication. > > The problem is, that __getattr__ does not have access to the acquisition > chain. Now I storing the "acquisition chain" in the object is not a > sound proposition, because it is not thread safe. Worse the object might > be accessed in some way that makes the acquisition chain not be updated.
Anoter way to do that is to play games with __of__. Look at the implementation of the skins tool in CMF for an example. Florent -- Florent Guillaume, Nuxeo (Paris, France) +33 1 40 33 79 87 http://nuxeo.com mailto:[EMAIL PROTECTED] _______________________________________________ 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 )