summaryrefslogtreecommitdiff
path: root/src/zope/traversing/publicationtraverse.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/traversing/publicationtraverse.py')
-rw-r--r--src/zope/traversing/publicationtraverse.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/zope/traversing/publicationtraverse.py b/src/zope/traversing/publicationtraverse.py
index 4fc90d1..b1e7c75 100644
--- a/src/zope/traversing/publicationtraverse.py
+++ b/src/zope/traversing/publicationtraverse.py
@@ -43,6 +43,8 @@ class PublicationTraverser(object):
- This version has a method, traverseRelativeURL(), that
supports "browserDefault" traversal.
"""
+ def proxy(self, ob):
+ return ProxyFactory(ob)
def traverseName(self, request, ob, name):
nm = name # the name to look up the object with
@@ -56,7 +58,7 @@ class PublicationTraverser(object):
except TraversalError:
raise NotFound(ob, name)
- return ProxyFactory(ob2)
+ return self.proxy(ob2)
if nm == '.':
return ob
@@ -72,7 +74,7 @@ class PublicationTraverser(object):
else:
raise NotFound(ob, name, request)
- return ProxyFactory(ob2)
+ return self.proxy(ob2)
def traversePath(self, request, ob, path):
@@ -113,7 +115,7 @@ class PublicationTraverser(object):
if adapter is None:
return ob
ob, path = adapter.browserDefault(request)
- ob = ProxyFactory(ob)
+ ob = self.proxy(ob)
if not path:
return ob
@@ -121,3 +123,8 @@ class PublicationTraverser(object):
# alternate spelling
PublicationTraverse = PublicationTraverser
+
+class PublicationTraverserWithoutProxy(PublicationTraverse):
+
+ def proxy(self, ob):
+ return ob