sean.upton@uniontrib.com writes:
.... I am using __getattr__ within my product, and the code pasted below works ... However, because of the way that this messes with Acquisition, certain things like accessing the ZMI pages or acquired methods can be quite slow (but work). ... def __getattr__(self, name): return getattr(self._CurrentVersion, name) I am (almost) sure, you run into the same problem than I did and reported to <mailto:zpt@zope.org>.
You get an infinite "__getattr__" loop, broken via a "RuntimeError, maximal recursion exceeded" which is silently ignored. Use def __getattr__(self,name): # avoid acquisition current= self.__dict__['_CurrentVersion'] if hasattr(current,name): return getattr(self._CurrentVersion,name) More info in the ZPT mailing list archives. Dieter