diff options
| author | Michael Merickel <michael@merickel.org> | 2015-02-06 01:32:28 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2015-02-06 01:40:40 -0600 |
| commit | fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e (patch) | |
| tree | 097ddd28737ff96926bc890d1d450fbf03c5316d | |
| parent | 41765b69d7a10695fca13663e013a61a53830133 (diff) | |
| download | pyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.tar.gz pyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.tar.bz2 pyramid-fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e.zip | |
less dot operators in loops
| -rw-r--r-- | pyramid/view.py | 23 |
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 |
