--On Thursday, May 27, 2004 3:45 PM -0700 Karl Anderson <kra@monkey.org> wrote:
yspanel is an instance of My product though. and I am trying to figure out how to use __bobo_traverse__ to call a method to handle the above request, where everything, from foobar and on, is parameters or commands...
I do this in two toy products, BlogFace and BlogTopic.
http://zope.org/Members/karl/index_html/BlogFace/BlogFace http://zope.org/Members/karl/index_html/BlogTopic/BlogTopic ...
Thank you so much Karl, that was a comprehensive answer. I got it working using the second method you showed: In case this is of use to any one: My application instance name, or id, is yspanel, now a URL like this: <http://10.0.10.28:8080/yspanel/dview/arg1/arg2/arg3/any/thing/at/all> would result in: <http://10.0.10.28:8080/yspanel> which would call my normal index_html method with the following list added to the REQUEST dict: REQUEST['YSURLARGS'] = ['dview', 'arg1', 'arg2', 'arg3','any','thing','at','all'] all thanks to this method added to my class: def __before_publishing_traverse__(self, obj, req): """ """ stack = req['TraversalRequestNameStack'] stack.reverse() if len(stack) and stack[0] == 'dview': # stop looking for next obj to publish by emptying stack req['TraversalRequestNameStack'] = [] req['YSURLARGS'] = stack[:]