diff options
Diffstat (limited to 'repoze/bfg/traversal.py')
| -rw-r--r-- | repoze/bfg/traversal.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index dbc9ae709..157a9aac7 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -270,15 +270,14 @@ def traverse(model, path): return _traverse(model, {'PATH_INFO':path}) -def _traverse(model, environ, registry=None): - if registry is None: +def _traverse(model, environ, traverser=None): + if traverser is None: traverser = ITraverserFactory(model) - else: - # for speed - traverser = registry.getAdapter(model, ITraverserFactory) + result = traverser(environ) - deprecation_warning = None + if result.__class__ is not dict: # isinstance slightly slower + deprecation_warning = None try: # b/w compat for 6-arg returning ITraversers (0.7.1 til 0.8a7) ctx, view_name, subpath, traversed, vroot, vroot_path = result |
