diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-11 04:23:12 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-11 04:23:12 +0000 |
| commit | 1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c (patch) | |
| tree | 3846ce77e983bc5697f277bdf2e1c44896ba9bef /repoze/bfg/traversal.py | |
| parent | 412736e783651f21446e62d2406541c9dfc66342 (diff) | |
| download | pyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.tar.gz pyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.tar.bz2 pyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.zip | |
Microspeedups.
Diffstat (limited to 'repoze/bfg/traversal.py')
| -rw-r--r-- | repoze/bfg/traversal.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index a0fdc5c71..223de4309 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -262,11 +262,15 @@ def traverse(model, path): return _traverse(model, {'PATH_INFO':path}) -def _traverse(model, environ): - traverser = ITraverserFactory(model) +def _traverse(model, environ, registry=None): + if registry is None: + traverser = ITraverserFactory(model) + else: + # for speed + traverser = registry.getAdapter(model, ITraverserFactory) result = traverser(environ) deprecation_warning = None - if not isinstance(result, dict): + if result.__class__ is not dict: # isinstance slightly slower try: # b/w compat for 6-arg returning ITraversers (0.7.1 til 0.8a7) ctx, view_name, subpath, traversed, vroot, vroot_path = result |
