[Zope] restrictedTraverse([''])

Lennart Regebro regebro at gmail.com
Tue May 24 05:59:50 EDT 2005


On 5/24/05, Hong Yuan <hongyuan at homemaster.cn> wrote:
> I happened to find that obj.restrictedTraverse(['']) returns the
> application object, instead of the object itself. This is quite
> unexpected, as both obj.restrictedTraverse('') and
> obj.restrictedTraverse([]) returns the object itself.
> 
> Is this a bug or a feature?

RestrictedTraverse on a list will assume it is a path of ids.
restrictedTraverse on a string will assume it is a URL.

A path of ids that starts with '' is a absolute path, just like a URL
that starts with '/'. So, the path list [''] means the
root/application object, just like '/' means the root/application
object.

However [] is an empty path, and is therefore the same as the URL ''.

So, the above behaviour is expected and as defined.

-- 
Lennart Regebro, Nuxeo     http://www.nuxeo.com/
CPS Content Management     http://www.cps-project.org/


More information about the Zope mailing list