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.

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: ('',)?


Anything that happens, happens.  --Douglas Adams

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to