[Checkins] SVN: Products.GenericSetup/trunk/ - don't ignore errors in ImmutableId._setId()
Yvo Schubbe
y.2010 at wcm-solutions.de
Wed Jul 28 03:29:44 EDT 2010
Log message for revision 115137:
- don't ignore errors in ImmutableId._setId()
Changed:
U Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
U Products.GenericSetup/trunk/Products/GenericSetup/tool.py
U Products.GenericSetup/trunk/docs/CHANGES.rst
-=-
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2010-07-28 07:23:30 UTC (rev 115136)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py 2010-07-28 07:29:44 UTC (rev 115137)
@@ -1281,14 +1281,14 @@
from Products.GenericSetup.tool import importToolset
site = self._initSite()
- context = DummyImportContext( site, tool=site.setup_tool )
- context._files[ TOOLSET_XML ] = _WITH_ID_TOOLSET_XML
+ context = DummyImportContext(site, tool=site.setup_tool)
+ context._files[TOOLSET_XML] = _WITH_ID_TOOLSET_XML
- importToolset( context )
+ importToolset(context)
- for tool_id in ( 'mandatory', 'requires_id' ):
- tool = getattr( site, tool_id )
- self.assertEqual( tool.getId(), tool_id )
+ for tool_id in ('mandatory', 'requires_id', 'immutable_id'):
+ tool = getattr(site, tool_id)
+ self.assertEqual(tool.getId(), tool_id)
def test_forbidden_tools( self ):
@@ -1450,21 +1450,32 @@
self.assertEqual( len( site.objectIds() ), 2 )
-class DummyTool( Folder ):
+class DummyTool(Folder):
pass
-class AnotherDummyTool( Folder ):
+class AnotherDummyTool(Folder):
+
pass
-class DummyToolRequiresId( Folder ):
+class DummyToolRequiresId(Folder):
+
def __init__(self, id):
Folder.__init__(self)
self._setId(id)
+class DummyToolImmutableId(Folder):
+
+ id = 'immutable_id'
+
+ def _setId(self, id):
+ if id != self.getId():
+ raise ValueError()
+
+
_EMPTY_TOOLSET_XML = """\
<?xml version="1.0"?>
<tool-setup>
@@ -1510,6 +1521,9 @@
<required
tool_id="requires_id"
class="Products.GenericSetup.tests.test_tool.DummyToolRequiresId" />
+ <required
+ tool_id="immutable_id"
+ class="Products.GenericSetup.tests.test_tool.DummyToolImmutableId" />
</tool-setup>
"""
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tool.py 2010-07-28 07:23:30 UTC (rev 115136)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tool.py 2010-07-28 07:29:44 UTC (rev 115137)
@@ -24,7 +24,6 @@
from OFS.Folder import Folder
from OFS.Image import File
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
-from ZODB.POSException import ConflictError
from zope import event
from zope.interface import implements
@@ -122,14 +121,7 @@
except TypeError:
new_tool = tool_class(tool_id)
else:
- try:
- new_tool._setId(tool_id)
- except (ConflictError, KeyboardInterrupt):
- raise
- except:
- # BBB: for Products.CMFCore < 2.2.3
- # XXX: ImmutableId raises result of calling MessageDialog
- pass
+ new_tool._setId(tool_id)
site._setObject(tool_id, new_tool)
else:
Modified: Products.GenericSetup/trunk/docs/CHANGES.rst
===================================================================
--- Products.GenericSetup/trunk/docs/CHANGES.rst 2010-07-28 07:23:30 UTC (rev 115136)
+++ Products.GenericSetup/trunk/docs/CHANGES.rst 2010-07-28 07:29:44 UTC (rev 115137)
@@ -4,7 +4,9 @@
1.6.2 (unreleased)
------------------
+- Toolset import: Don't ignore errors in ImmutableId._setId().
+
1.6.1 (2010-07-04)
------------------
More information about the checkins
mailing list