[Zope] help with __bobo_traverse__

Matt Hamilton matth at netsight.co.uk
Thu May 27 16:15:11 EDT 2004


Mohamed Lrhazi wrote:

> One more thing, this works as expected:
> 
> <http://10.0.10.28:8080/yspanel/foobar>
> 
> Meaning that is does call my viewDomain method which displays the 
> REQUEST dict.
> 
> But this fails:
> 
> <http://10.0.10.28:8080/yspanel/foobar/1/2>
> 
> Error:
> 
> Zope has encountered a problem publishing your object.
> Cannot locate object at: http://10.0.10.28:8080/yspanel/foobar/1

OK, this is saying that it can get to 'foobar' OK, but the next 
traversal step from foobar to '1' is failing.  It cant find '1' in the 
context of 'foobar'.

My initial thought is that maybe there is no context wrapper for 
viewDomain when you return it.  I can't remeber if it is added 
automaticcally or not.  You could try:

return getattr(self, 'viewDomain').__of__(self)

and see if that works.

Having said that, taking another look at your code, I think it works as 
expected.  The first call to __bobo_traverse__ gets 'foobar', but how 
does foobar get '1'?  Does an object called '1' exist anywhere?

-Matt

-- 
Matt Hamilton                                       matth at netsight.co.uk
Netsight Internet Solutions, Ltd.        Business Vision on the Internet
http://www.netsight.co.uk                             +44 (0)117 9090901
Web Design | Zope/Plone Development & Consulting | Co-location | Hosting



More information about the Zope mailing list