summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyramid/router.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/pyramid/router.py b/pyramid/router.py
index 3d2a2ff3e..1a991648b 100644
--- a/pyramid/router.py
+++ b/pyramid/router.py
@@ -165,9 +165,13 @@ class Router(object):
# look for other views that meet the predicate
# criteria
for iface in context_iface.__sro__[1:]:
+ previous_view_callable = view_callable
view_callable = adapters.lookup(
(IViewClassifier, request.request_iface, iface),
IView, name=view_name, default=None)
+ # intermediate bases may lookup same view_callable
+ if view_callable is previous_view_callable:
+ continue
if view_callable is not None:
try:
response = view_callable(context, request)