[Repoze-checkins] r1044 - in repoze.zope2/trunk: . repoze/zope2 repoze/zope2/tests
Chris McDonough
chrism at agendaless.com
Wed May 21 16:08:24 EDT 2008
Author: Chris McDonough <chrism at agendaless.com>
Date: Wed May 21 16:08:23 2008
New Revision: 1044
Log:
- Fix a not-true-enough emulation of Zope 2.9 publishing semantics.
Symptom: Z3 "adding" views being published without an acquisition
wrapper under Zope 2.9.
Modified:
repoze.zope2/trunk/CHANGES.txt
repoze.zope2/trunk/repoze/zope2/tests/test_z2bob.py
repoze.zope2/trunk/repoze/zope2/z2bob.py
Modified: repoze.zope2/trunk/CHANGES.txt
==============================================================================
--- repoze.zope2/trunk/CHANGES.txt (original)
+++ repoze.zope2/trunk/CHANGES.txt Wed May 21 16:08:23 2008
@@ -1,10 +1,14 @@
-After 0.3.9
+0.4.0 (2008-05-21)
- Raise an error Z2BobHelper's map_result method detects that it's
about to return a value to obob which does not have an __iter__
method. This avoids confusion about what's causing failures when
we attempt to publish an "unpublishable" object.
+ - Fix a not-true-enough emulation of Zope 2.9 publishing semantics.
+ Symptom: Z3 "adding" views being published without an acquisition
+ wrapper under Zope 2.9.
+
0.3.9 (2008-05-08)
- Instance creation now expands the sandbox path in derived files
Modified: repoze.zope2/trunk/repoze/zope2/tests/test_z2bob.py
==============================================================================
--- repoze.zope2/trunk/repoze/zope2/tests/test_z2bob.py (original)
+++ repoze.zope2/trunk/repoze/zope2/tests/test_z2bob.py Wed May 21 16:08:23 2008
@@ -590,10 +590,14 @@
helper.user_folders = []
helper.request.steps = []
helper.traverse(published, 'foo')
- self.assertEqual(len(x), 1)
- xrequest, xname = x[0]
- self.assertEqual(xrequest, helper.request)
- self.assertEqual(xname, 'foo')
+ from repoze.zope2.publishtraverse import _BETTER_THAN_210
+ if _BETTER_THAN_210: # 2.10 semantics return the published ob
+ self.assertEqual(len(x), 1)
+ xrequest, xname = x[0]
+ self.assertEqual(xrequest, helper.request)
+ self.assertEqual(xname, 'foo')
+ else:
+ self.assertEqual(len(x), 0)
def test_before_invoke_browser_default_redirects(self):
published = DummyPublishedObject()
Modified: repoze.zope2/trunk/repoze/zope2/z2bob.py
==============================================================================
--- repoze.zope2/trunk/repoze/zope2/z2bob.py (original)
+++ repoze.zope2/trunk/repoze/zope2/z2bob.py Wed May 21 16:08:23 2008
@@ -84,6 +84,7 @@
from repoze.zope2.mapply import dont_publish_class
from repoze.zope2.mapply import missing_name
from repoze.zope2.publishtraverse import DefaultPublishTraverse
+from repoze.zope2.publishtraverse import _BETTER_THAN_210
from repoze.zope2.request import makeRequest
from repoze.zope2.db import getDB
@@ -565,7 +566,7 @@
def _getPublishTraverseView(self, iface, ob):
request = self.request
- if iface.providedBy(ob):
+ if _BETTER_THAN_210 and iface.providedBy(ob):
adapter = ob
else:
adapter = queryMultiAdapter((ob, request), iface)
More information about the Repoze-checkins
mailing list