[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/ - improved convert_type_icons and merged it into upgrade_type_properties

Yvo Schubbe y.2009 at wcm-solutions.de
Fri Nov 20 05:29:29 EST 2009


Log message for revision 105901:
  - improved convert_type_icons and merged it into upgrade_type_properties

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-20 09:32:54 UTC (rev 105900)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-20 10:29:28 UTC (rev 105901)
@@ -83,12 +83,6 @@
         checker=".to22.check_action_icons"
         />
 
-    <genericsetup:upgradeStep
-        title="Convert icon expressions to new type property"
-        handler=".to22.convert_type_icons"
-        checker=".to22.check_type_icons"
-        />
-
   </genericsetup:upgradeSteps>
 
   <genericsetup:upgradeStep

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-20 09:32:54 UTC (rev 105900)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-20 10:29:28 UTC (rev 105901)
@@ -65,11 +65,12 @@
     """
     ttool = getToolByName(tool, 'portal_types')
     for ti in ttool.listTypeInfo():
-        if ti.getProperty('add_view_expr'):
-            continue
-        if ti.getProperty('content_meta_type') == 'Discussion Item':
-            continue
-        return True
+        content_icon = getattr(ti, 'content_icon', None)
+        if content_icon is not None:
+            return True
+        if not ti.getProperty('add_view_expr') and \
+                ti.getProperty('content_meta_type') != 'Discussion Item':
+            return True
     return False
 
 def upgrade_type_properties(tool):
@@ -78,14 +79,22 @@
     logger = logging.getLogger('GenericSetup.upgrade')
     ttool = getToolByName(tool, 'portal_types')
     for ti in ttool.listTypeInfo():
-        if ti.getProperty('add_view_expr'):
-            continue
-        if ti.getProperty('content_meta_type') == 'Discussion Item':
-            continue
-        ti._updateProperty('add_view_expr',
-                           'string:${folder_url}/++add++%s'
-                           % quote(ti.getId()))
-        logger.info("TypeInfo '%s' changed." % ti.getId())
+        changed = False
+        content_icon = getattr(ti, 'content_icon', None)
+        if content_icon is not None:
+            del ti.content_icon
+            if content_icon and not ti.getProperty('icon_expr'):
+                icon_expr = 'string:${portal_url}/%s' % content_icon
+                ti._updateProperty('icon_expr', icon_expr)
+            changed = True
+        if not ti.getProperty('add_view_expr') and \
+                ti.getProperty('content_meta_type') != 'Discussion Item':
+            ti._updateProperty('add_view_expr',
+                               'string:${folder_url}/++add++%s'
+                               % quote(ti.getId()))
+            changed = True
+        if changed:
+            logger.info("TypeInfo '%s' changed." % ti.getId())
 
 _ACTION_ICONS = {'download': 'download_icon.png',
                  'edit': 'edit_icon.png',
@@ -124,24 +133,3 @@
                 changed = True
         if changed:
             logger.info("TypeInfo '%s' changed." % ti.getId())
-
-def check_type_icons(tool):
-    """2.1.x to 2.2.0 upgrade step checker
-    """
-    ttool = getToolByName(tool, 'portal_types')
-    for ti in ttool.listTypeInfo():
-        if ti.content_icon and not ti.icon_expr:
-            return True
-    return False
-
-def convert_type_icons(tool):
-    """2.1.x to 2.2.0 upgrade step handler
-    """
-    logger = logging.getLogger('GenericSetup.upgrade')
-    ttool = getToolByName(tool, 'portal_types')
-    for ti in ttool.listTypeInfo():
-        if ti.content_icon and not ti.icon_expr:
-            icon_expr = 'string:${portal_url}/%s' % ti.content_icon
-            ti._setPropValue('icon_expr', icon_expr)
-            ti._setPropValue('content_icon', '')
-            logger.info("TypeInfo '%s' changed." % ti.getId())



More information about the checkins mailing list