summaryrefslogtreecommitdiff
path: root/repoze/bfg/traversal.py
diff options
context:
space:
mode:
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