Dieter Maurer wrote: > Christian Theune wrote at 2008-10-15 17:42 +0200: >> we stumbled over an annoyance that took a while to debug: >> >> Writing an ITraversable, we used zope.traversing.api.traverse() in a >> test to verify our code. We registered the ITraversable as an >> (non-multi) adapter and ended up with a working test. >> >> In the actual system, we found that the traversable would not be used. >> After investigation we found a conditional branch in the traverse() >> function which would look for a multi-adapter if a request was around, >> and a regular adapter if not. >> >> We didn't anticipate this difference and it cost us some time, so we >> wonder whether this has to be the way it is, or whether this could be >> changed to behave more obvious and consistent. > > The request may have important information to control traversal, e.g. > a layer. On the other hand, when no request is available (e.g. in a > script), you cannot use one. Thus, the current behaviour may cover > useful use cases.
True. The request (=layer) is indeed necessary to resolve paths in the ++view++ aka @@ namespace. _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )