diff options
Diffstat (limited to 'repoze/bfg/traversal.py')
| -rw-r--r-- | repoze/bfg/traversal.py | 10 |
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 |
