[Checkins] SVN: GenericSetup/trunk/utils.py - made sure ObjectManagerHelpers works also for the site root object (normally we don't use it for the site root, but this is more robust)

Yvo Schubbe y.2006_ at wcm-solutions.de
Mon Jun 12 03:59:55 EDT 2006


Log message for revision 68594:
  - made sure ObjectManagerHelpers works also for the site root object (normally we don't use it for the site root, but this is more robust)

Changed:
  U   GenericSetup/trunk/utils.py

-=-
Modified: GenericSetup/trunk/utils.py
===================================================================
--- GenericSetup/trunk/utils.py	2006-06-12 07:48:32 UTC (rev 68593)
+++ GenericSetup/trunk/utils.py	2006-06-12 07:59:54 UTC (rev 68594)
@@ -46,6 +46,7 @@
 from interfaces import IBody
 from interfaces import INode
 from interfaces import ISetupContext
+from interfaces import ISetupTool
 from permissions import ManagePortal
 
 
@@ -461,6 +462,8 @@
     def _exportSimpleNode(self):
         """Export the object as a DOM node.
         """
+        if ISetupTool.providedBy(self.context):
+            return None
         return self._getObjectNode('object', False)
 
     def _importSimpleNode(self, node):
@@ -521,6 +524,7 @@
 
     filename = '' # for error reporting during import
 
+
 class ObjectManagerHelpers(object):
 
     """ObjectManager im- and export helpers.
@@ -535,11 +539,15 @@
         for obj in objects:
             exporter = queryMultiAdapter((obj, self.environ), INode)
             if exporter:
-                fragment.appendChild(exporter.node)
+                node = exporter.node
+                if node is not None:
+                    fragment.appendChild(exporter.node)
         return fragment
 
     def _purgeObjects(self):
-        for obj_id in self.context.objectIds():
+        for obj_id, obj in self.context.objectItems():
+            if ISetupTool.providedBy(obj):
+                continue
             self.context._delObject(obj_id)
 
     def _initObjects(self, node):



More information about the Checkins mailing list