[Checkins] SVN: Products.GenericSetup/trunk/ Toolset import: Support replacement of subclassed tools.

Laurence Rowe l at lrowe.co.uk
Wed Nov 24 13:46:58 EST 2010


Log message for revision 118573:
  Toolset import: Support replacement of subclassed tools.

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-11-24 17:23:54 UTC (rev 118572)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_tool.py	2010-11-24 18:46:58 UTC (rev 118573)
@@ -1364,7 +1364,7 @@
         mandatory._setId( 'mandatory' )
         site._setObject( 'mandatory', mandatory )
 
-        obligatory = AnotherDummyTool()
+        obligatory = SubclassedDummyTool()
         obligatory._setId( 'obligatory' )
         site._setObject( 'obligatory', obligatory )
 
@@ -1449,6 +1449,11 @@
     pass
 
 
+class SubclassedDummyTool(DummyTool):
+
+    pass
+
+
 class DummyToolRequiresId(Folder):
 
     def __init__(self, id):

Modified: Products.GenericSetup/trunk/Products/GenericSetup/tool.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tool.py	2010-11-24 17:23:54 UTC (rev 118572)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tool.py	2010-11-24 18:46:58 UTC (rev 118573)
@@ -128,7 +128,8 @@
             if tool_class is None:
                 continue
             unwrapped = aq_base(existing)
-            if not isinstance(unwrapped, tool_class):
+            # don't use isinstance here as a subclass may need removing
+            if type(unwrapped) != tool_class:
                 site._delObject(tool_id)
                 site._setObject(tool_id, tool_class())
 

Modified: Products.GenericSetup/trunk/docs/CHANGES.rst
===================================================================
--- Products.GenericSetup/trunk/docs/CHANGES.rst	2010-11-24 17:23:54 UTC (rev 118572)
+++ Products.GenericSetup/trunk/docs/CHANGES.rst	2010-11-24 18:46:58 UTC (rev 118573)
@@ -1,6 +1,11 @@
 Products.GenericSetup Changelog
 ===============================
 
+1.6.3 (unreleased)
+------------------
+
+- Toolset import: Support replacement of subclassed tools.
+
 1.6.2 (2010-08-12)
 ------------------
 



More information about the checkins mailing list