summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2015-02-06 01:32:28 -0600
committerMichael Merickel <michael@merickel.org>2015-02-06 01:40:40 -0600
commitfb2824846c6bcdf5a42a2d0adcfe404d4c9a194e (patch)
tree097ddd28737ff96926bc890d1d450fbf03c5316d
parent41765b69d7a10695fca13663e013a61a53830133 (diff)
downloadpyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.tar.gz
pyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.tar.bz2
pyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.zip
less dot operators in loops
-rw-r--r--pyramid/view.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/pyramid/view.py b/pyramid/view.py
index 9ee9503f7..9f37b4436 100644
--- a/pyramid/view.py
+++ b/pyramid/view.py
@@ -1,3 +1,4 @@
+import itertools
import venusian
from zope.interface import providedBy
@@ -417,12 +418,16 @@ class forbidden_view_config(object):
return wrapped
def find_views(registry, request_iface, context_iface, view_name):
- adapters = registry.adapters
- for req_type in request_iface.__sro__:
- for iface in context_iface.__sro__:
- for view_type in (IView, ISecuredView, IMultiView):
- view_callable = adapters.registered(
- (IViewClassifier, req_type, iface),
- view_type, name=view_name)
- if view_callable is not None:
- yield view_callable
+ registered = registry.adapters.registered
+ for req_type, iface in itertools.product(
+ request_iface.__sro__, context_iface.__sro__
+ ):
+ source_ifaces = (IViewClassifier, req_type, iface)
+ for view_type in (IView, ISecuredView, IMultiView):
+ view_callable = registered(
+ source_ifaces,
+ view_type,
+ name=view_name,
+ )
+ if view_callable is not None:
+ yield view_callable