Log message for revision 40757: - Inline before_publishing_traverse handling and then fire the event
Changed: U Zope/branches/publication-refactor/lib/python/ZPublisher/Publication.py -=- Modified: Zope/branches/publication-refactor/lib/python/ZPublisher/Publication.py =================================================================== --- Zope/branches/publication-refactor/lib/python/ZPublisher/Publication.py 2005-12-12 21:07:07 UTC (rev 40756) +++ Zope/branches/publication-refactor/lib/python/ZPublisher/Publication.py 2005-12-12 21:23:59 UTC (rev 40757) @@ -20,8 +20,6 @@ from zope.publisher.interfaces import NotFound, IPublicationRequest from zope.app.publication.interfaces import EndRequestEvent from zope.app.publication.interfaces import BeforeTraverseEvent -from zope.app.publication.interfaces import IBeforeTraverseEvent -from zope.app.testing import ztapi from ZPublisher.Publish import Retry from ZPublisher.Publish import get_module_info, call_object @@ -59,8 +57,12 @@ self.transactions_manager.begin() def callTraversalHooks(self, request, ob): - # Call __before_publishing_traverse__ hooks the Zope 3-way by - # firing an event. + # Call __before_publishing_traverse__ hooks + bpth = getattr(ob, '__before_publishing_traverse__', None) + if bpth is not None: + bpth(ob, request) + + # And then fire an event notify(BeforeTraverseEvent(ob, request)) def afterTraversal(self, request, ob): @@ -219,14 +221,3 @@ _publications[module_name] = ZopePublication(db=None, module_name=module_name) return _publications[module_name] - -def bptSubscriber(event): - ob = event.object - request = event.request - bpth = getattr(ob, '__before_publishing_traverse__', None) - if bpth is not None: - bpth(ob, request) - -# XXX Move to zcml. -ztapi.subscribe([IBeforeTraverseEvent], None, bptSubscriber) - _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins