summaryrefslogtreecommitdiff
path: root/repoze/bfg/traversal.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-12 10:42:23 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-12 10:42:23 +0000
commit8823e22b7caf3ef72aefaccec9e33f21bb37018c (patch)
tree17ea401c33cef31d335c930b9020f614a4173c3f /repoze/bfg/traversal.py
parent44f05b7b5cb8b00a1d89a7d798c0a399e0c3a7f6 (diff)
downloadpyramid-8823e22b7caf3ef72aefaccec9e33f21bb37018c.tar.gz
pyramid-8823e22b7caf3ef72aefaccec9e33f21bb37018c.tar.bz2
pyramid-8823e22b7caf3ef72aefaccec9e33f21bb37018c.zip
Add explicit viewname logic.
Diffstat (limited to 'repoze/bfg/traversal.py')
-rw-r--r--repoze/bfg/traversal.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py
index 9380b2a0a..521044d5e 100644
--- a/repoze/bfg/traversal.py
+++ b/repoze/bfg/traversal.py
@@ -23,12 +23,14 @@ def split_path(path):
return clean
def step(ob, name, default):
+ if name.startswith('@@'):
+ return name[2:], default
if not hasattr(ob, '__getitem__'):
- return default
+ return name, default
try:
- return ob[name]
+ return name, ob[name]
except KeyError:
- return default
+ return name, default
_marker = ()
@@ -47,7 +49,7 @@ class NaivePublishTraverser:
while path:
segment = path.pop(0)
- next = step(ob, segment, _marker)
+ segment, next = step(ob, segment, _marker)
if next is _marker:
name = segment
break