summaryrefslogtreecommitdiff
path: root/repoze/bfg/traversal.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-11 04:23:12 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-11 04:23:12 +0000
commit1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c (patch)
tree3846ce77e983bc5697f277bdf2e1c44896ba9bef /repoze/bfg/traversal.py
parent412736e783651f21446e62d2406541c9dfc66342 (diff)
downloadpyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.tar.gz
pyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.tar.bz2
pyramid-1ecdda6b64a498d0c04fb94a0c0ce0ec4d15d06c.zip
Microspeedups.
Diffstat (limited to 'repoze/bfg/traversal.py')
-rw-r--r--repoze/bfg/traversal.py10
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