[Zope] URL traversal

Anthony Baxter Anthony Baxter <anthony@interlink.com.au>
Tue, 04 Apr 2000 16:33:35 +1000


use a python method with the magic traversal stuff turned on. :)



>>> Andy Dustman wrote
> I'd like to be able to do something similar to the URL traversal that ZSQL
> methods do, but more something like this:
> 
> http://localhost/blah/a/b/c/spam
> 
> would invoke blah.spam(args=['a','b','c']), i.e. args is a variable-sized
> list of each path item between the object and the method in sequence
> order.
> 
> 1) Is there a way to do this short of writing a Product?
> 
> 2) Having already figured out the answer to #1 was probably "no", I have
> tried to write a Product that does the job. It used a helper class,
> similar to OFS.Folder.Traverse. My main problem (which I probably have to
> punt on) is that I'm trying to use __getattr__ hooks instead of
> __getitem__ hooks; I may need to switch to doing the latter to get things
> to work.
> 
> The test Product (in theory) is essentially a Folder with the above
> semantics, because I needed something I could stick DTML Methods and other
> things into. This might be useful in general, as well.
> 
> 3) Is this even a reasonable thing to try to do? I have an existing CGI
> script that uses the PATH_INFO like this (mostly; it just takes
> everything past a certain point as arguments).
> 
> -- 
> andy dustman       |     programmer/analyst     |      comstar.net, inc.
> telephone: 770.485.6025 / 706.549.7689 | icq: 32922760 | pgp: 0xc72f3f1d
> "Therefore, sweet knights, if you may doubt your strength or courage, 
> come no further, for death awaits you all, with nasty, big, pointy teeth!"
> 
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )

-- 
Anthony Baxter     <anthony@interlink.com.au>   
It's never too late to have a happy childhood.