[Zope] traveese_subpath

J Cameron Cooper jccooper at jcameroncooper.com
Thu Jan 22 19:03:45 EST 2004


nwingfield at che-llp.com wrote:

>I am writing a custom product and would like to make use of the URL string
>to do some cool stuff.  When writing a "Python Script" there is a handy
>variable called traverse_subpath that contains the elements of the URL to
>the right of the name of the script itself.  However, Zope tends to raise
>an exception when I attempt this technique with other types of objects,
>namely the objects created with my custom product code.
>
>For example:
>
>http://www.mysite.com/myPythonScript/extra/stuff
>works fine, and I have access to a handy list like ['extra', 'stuff']
>
>http://www.mysite.com/myCustomObject/extra/stuff
>raises an error, something like:  Zope has encountered a problem publishing
>your object.
>
>Is there a quick trick to incorporate traverse_subpath functionality into
>my product?
>  
>
http://zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx

under "traversal methods". By providing a __bobo_traverse__ you can stop 
traversal and provide a traversal sub-path to your object, just like 
Python scripts do. In fact, you can probably hunt that very code down 
for inspiration. Probably it goes very much like::

def __bobo_traverse__(self, request, key):
    if request.has_key('TraversalRequestNameStack'):
       self.traverse_subpath = request['TraversalRequestNameStack']
    return self

But keep in mind I just made that up. You'll probably have to do some 
work on the traversal path. I don't even recall if you get the whole 
thing, or only what you're involved in.

Also:
http://zope.org/Members/teyc/Wiki/BoboTraverse

Once you do this, it would be a nice recipe on zopelabs.com.

          --jcc

-- 
"Code generators follow the 80/20 rule. They solve most of the problems, but not all of the problems. There are always features and edge cases that will need hand-coding. Even if code generation could build 100 percent of the application, there will still be an endless supply of boring meetings about feature design."
(http://www.devx.com/java/editorial/15511)





More information about the Zope mailing list