From cfde11670a0684eebac5ffda0184509ee7444177 Mon Sep 17 00:00:00 2001 From: helmutm Date: Fri, 12 Jun 2009 14:39:41 +0000 Subject: [PATCH] handle views correctly that are directly provided by a specialized traverser git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3419 fd906abe-77d9-0310-91a1-e0d9ade77398 --- classifier/base.py | 2 +- layout/browser/traversal.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/classifier/base.py b/classifier/base.py index 046850a..58dcc37 100644 --- a/classifier/base.py +++ b/classifier/base.py @@ -104,7 +104,7 @@ class Classifier(AdapterBase): message = u'Assigning: %s %s %s' else: message = u'Already assigned: %s %s %s' - self.log(message % (resource.title, predicate.title, concept.title), 5) + self.log(message % (resource.title, predicate.title, concept.title), 4) def log(self, message, level=5): if level >= self.logLevel: diff --git a/layout/browser/traversal.py b/layout/browser/traversal.py index 21a33e2..536f093 100644 --- a/layout/browser/traversal.py +++ b/layout/browser/traversal.py @@ -26,6 +26,7 @@ from zope.app.container.traversal import ItemTraverser from zope.cachedescriptors.property import Lazy from zope import component from zope.component import adapts +from zope.publisher.browser import BrowserView from zope.publisher.interfaces import NotFound, IPublishTraverse from loops.common import adapted @@ -67,15 +68,14 @@ class NodeTraverser(ItemTraverser): traverser = IPublishTraverse(adapted(self.context.target), None) if traverser is not None: target = traverser.publishTraverse(request, name) + if isinstance(target, BrowserView): + return target if target is not None: viewAnnotations['target'] = target tv = component.getMultiAdapter((target, request), name='layout') viewAnnotations['targetView'] = tv return self.context obj = None - # for name, tr in component.getAdapters(self.context, IPublishTraverse): - # if name: - # obj = tr.publishTraverse(request, name) if obj is None: try: obj = super(NodeTraverser, self).publishTraverse(request, name)