[Zope-Checkins] SVN: Zope/trunk/src/Zope2/App/ Merge change from 2.12 branch
Wichert Akkerman
wichert at wiggy.net
Tue Apr 13 08:16:43 EDT 2010
Log message for revision 110780:
Merge change from 2.12 branch
Changed:
U Zope/trunk/src/Zope2/App/startup.py
U Zope/trunk/src/Zope2/App/tests/testExceptionHook.py
-=-
Modified: Zope/trunk/src/Zope2/App/startup.py
===================================================================
--- Zope/trunk/src/Zope2/App/startup.py 2010-04-13 12:13:26 UTC (rev 110779)
+++ Zope/trunk/src/Zope2/App/startup.py 2010-04-13 12:16:42 UTC (rev 110780)
@@ -24,6 +24,7 @@
from Acquisition import aq_base
from Acquisition import aq_inner
from Acquisition import aq_parent
+from Acquisition.interfaces import IAcquirer
from App.config import getConfiguration
from time import asctime
from zExceptions import upgradeException
@@ -218,6 +219,8 @@
# zope.publisher uses as well.
view = queryMultiAdapter((v, REQUEST), name=u'index.html')
if view is not None:
+ if IAcquirer.providedBy(published):
+ view = view.__of__(published)
v = view()
response = REQUEST.RESPONSE
response.setStatus(t)
Modified: Zope/trunk/src/Zope2/App/tests/testExceptionHook.py
===================================================================
--- Zope/trunk/src/Zope2/App/tests/testExceptionHook.py 2010-04-13 12:13:26 UTC (rev 110779)
+++ Zope/trunk/src/Zope2/App/tests/testExceptionHook.py 2010-04-13 12:16:42 UTC (rev 110780)
@@ -16,6 +16,7 @@
import unittest
import logging
+import Acquisition
from zope.component.testing import PlacelessSetup
from zope.interface.common.interfaces import IException
from zope.publisher.skinnable import setDefaultSkin
@@ -215,7 +216,7 @@
self.call_no_exc(hook, None, None, f)
self.assertEquals(hook.unresolved_conflict_errors, 2)
-class Client:
+class Client(Acquisition.Explicit):
def __init__(self):
self.standard_error_message = True
@@ -320,14 +321,16 @@
tb = client.messages[0]
self.failUnless("ConflictError: database conflict error" in tb, tb)
-class CustomExceptionView:
+class CustomExceptionView(Acquisition.Explicit):
def __init__(self, context, request):
self.context = context
self.request = request
def __call__(self):
- return "Exception View: %s" % self.context.__class__.__name__
+ return "Exception View: %s\nContext: %s" % (
+ self.context.__class__.__name__,
+ Acquisition.aq_parent(self).__class__.__name__)
def registerExceptionView(for_):
from zope.interface import Interface
@@ -355,6 +358,7 @@
self.failUnless(isinstance(v, HTTPResponse), v)
self.failUnless(v.status == 401, (v.status, 401))
self.failUnless("Exception View: Unauthorized" in str(v))
+ self.failUnless("Context: StandardClient" in str(v))
def testCustomExceptionViewForbidden(self):
from ZPublisher.HTTPResponse import HTTPResponse
More information about the Zope-Checkins
mailing list