From fb2824846c6bcdf5a42a2d0adcfe404d4c9a194e Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Fri, 6 Feb 2015 01:32:28 -0600 Subject: less dot operators in loops --- pyramid/view.py | 23 ++++++++++++++--------- 1 file 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 -- cgit v1.2.3