On 4. Apr 2006, at 22:08, Paul Winkler wrote:
On Tue, Apr 04, 2006 at 08:09:05PM +0200, Stefan H. Holek wrote:
This looks fine to me because the world ends at parent. Your earlier example wrapped an object that was in the middle of an acquisition chain (IIRC),
no, I think you invented that :)
Ok, I retract ;-)
which I am not sure I like. You are safe to wrap the top-most object, be it a true "app" or not.
OK. In that case, 2057 really *is* a bug. http://www.zope.org/Collectors/Zope/2057
Well, thing is that getPhysicalPath of Traversable looks like this: def getPhysicalPath(self): path = (self.getId(),) p = aq_parent(aq_inner(self)) if p is not None: path = p.getPhysicalPath() + path return path whereas getPhysicalPath of Application looks like this: def getPhysicalPath(self): # We're at the base of the path. return ('',) As you can see Application is designed to terminate the lookup recursion. With "safe" I meant with regard to acquiring the REQUEST, granted getPhysicalPath breaks (time for another half-retraction it seems). Regarding your patch, why do you use lambda: () and not lambda: ('',)? Stefan -- Anything that happens, happens. --Douglas Adams