[Checkins] SVN: zope.dublincore/trunk/ Make CreatorAnnotator not to fail if participation principal is None
Dan Korostelev
nadako at gmail.com
Wed Dec 10 08:14:39 EST 2008
Log message for revision 93841:
Make CreatorAnnotator not to fail if participation principal is None
Changed:
U zope.dublincore/trunk/CHANGES.txt
U zope.dublincore/trunk/src/zope/dublincore/creatorannotator.py
U zope.dublincore/trunk/src/zope/dublincore/tests/test_creatorannotator.py
-=-
Modified: zope.dublincore/trunk/CHANGES.txt
===================================================================
--- zope.dublincore/trunk/CHANGES.txt 2008-12-10 10:10:05 UTC (rev 93840)
+++ zope.dublincore/trunk/CHANGES.txt 2008-12-10 13:14:39 UTC (rev 93841)
@@ -4,7 +4,7 @@
3.4.1 (unreleased)
------------------
-...
+- Fix: Make CreatorAnnotator not to fail if participation principal is None
3.4.0 (2007-09-28)
------------------
Modified: zope.dublincore/trunk/src/zope/dublincore/creatorannotator.py
===================================================================
--- zope.dublincore/trunk/src/zope/dublincore/creatorannotator.py 2008-12-10 10:10:05 UTC (rev 93840)
+++ zope.dublincore/trunk/src/zope/dublincore/creatorannotator.py 2008-12-10 13:14:39 UTC (rev 93841)
@@ -37,6 +37,8 @@
interaction = queryInteraction()
if interaction is not None:
for participation in interaction.participations:
+ if participation.principal is None:
+ continue
principalid = participation.principal.id
if not principalid in dc.creators:
dc.creators = dc.creators + (unicode(principalid), )
Modified: zope.dublincore/trunk/src/zope/dublincore/tests/test_creatorannotator.py
===================================================================
--- zope.dublincore/trunk/src/zope/dublincore/tests/test_creatorannotator.py 2008-12-10 10:10:05 UTC (rev 93840)
+++ zope.dublincore/trunk/src/zope/dublincore/tests/test_creatorannotator.py 2008-12-10 13:14:39 UTC (rev 93841)
@@ -127,6 +127,13 @@
self.failUnless(bad_author.id in data.creators)
endInteraction()
+ # Now, let's check if the auto-subscriber will work with None
+ # as principal (can happen sometimes in custom code).
+ newInteraction(DummyRequest(None))
+ CreatorAnnotator(event)
+ self.failIf(len(data.creators) != 2)
+ endInteraction()
+
def test_suite():
return TestSuite((
makeSuite(Test),
More information about the Checkins
mailing list