durusmail: quixote-users: Proposed change to _traverse
Proposed change to _traverse
2000-11-09
2000-11-09
2000-11-10
2000-11-10
Proposed change to _traverse
Andrew Kuchling
2000-11-09
On Thu, Nov 09, 2000 at 04:02:35PM -0500, Neil Schemenauer wrote:
>> The second change ensures there's a trailing slash when the traversal
>> ends up at an object (most likely something returned from
>> __getname__), so /process/review/300 redirects to
>> /process/review/300/.
>
>I not sure if this is always the right thing to do.  What if the
>instance has a __call__() method?  Perhaps you should test for
>callable objects rather than for modules or instances.  Then

No, that wouldn't work.  The problem is that /process/review/300 and
.../300/ take you to the same object and produce the same output, but
that breaks relative URLs, since a url like HREF="summary" would go to
process/review/summary and .../review/300/summary in the two cases.
You could write some code to figure out the correct full URL, but it
seems to me it's easier to just always ensure that the trailing / is
there.

If the traversal is something like /review/300/sequence, then no
trailing slash is needed, and none is added by this patch, since the
final object is a method, not a module or an instance.

--amk


reply