[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/ Upgrade step and more complete support for all properties.
Charlie Clark
cvs-admin at zope.org
Tue Mar 13 05:04:08 UTC 2012
Log message for revision 124592:
Upgrade step and more complete support for all properties.
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/cmf22Site.zexp
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/test_syndication_upgrade.py
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml 2012-03-13 00:16:54 UTC (rev 124591)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml 2012-03-13 05:04:04 UTC (rev 124592)
@@ -231,6 +231,14 @@
checker=".to23.check_root_site_manager"
/>
+ <genericsetup:upgradeStep
+ title="Upgrade syndication settings"
+ description="Upgrade to Python datetime based tool and annotations
+ adapter"
+ handler=".to23.upgrade_syndication_tool"
+ checker=".to23.check_syndication_tool"
+ />
+
</genericsetup:upgradeSteps>
<genericsetup:upgradeStep
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/cmf22Site.zexp
===================================================================
(Binary files differ)
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/test_syndication_upgrade.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/test_syndication_upgrade.py 2012-03-13 00:16:54 UTC (rev 124591)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/tests/test_syndication_upgrade.py 2012-03-13 05:04:04 UTC (rev 124592)
@@ -37,13 +37,9 @@
def setUp(self):
super(FunctionalUpgradeTestCase, self).setUp()
sm = getSiteManager()
- #self.sm = sm
sm.registerAdapter(SyndicationInfo, [IFolderish], ISyndicationInfo)
syndication = SyndicationTool()
sm.registerUtility(syndication, ISyndicationTool)
- from zope.annotation.interfaces import IAnnotations
- from zope.annotation.attribute import AttributeAnnotations
- #sm.registerAdapter(AttributeAnnotations, [IFolderish], IAnnotations)
folder = PortalFolder("Dummy Portal Folder")
self.folder = folder
@@ -55,6 +51,7 @@
info.syUpdateBase = DateTime()
info.syUpdatePeriod = 1
info.syUpdateFrequency = 1
+ info.isAllowed = 1
info.max_items = 5
return info
@@ -82,4 +79,4 @@
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(FunctionalUpgradeTestCase),
- ))
\ No newline at end of file
+ ))
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2012-03-13 00:16:54 UTC (rev 124591)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2012-03-13 05:04:04 UTC (rev 124592)
@@ -344,6 +344,8 @@
adapter.base = DateTime_to_datetime(SyndicationInformation.syUpdateBase)
adapter.frequency = SyndicationInformation.syUpdateFrequency
adapter.max_items = SyndicationInformation.max_items
+ if getattr(SyndicationInformation, 'isAllowed', False):
+ adapter.enable()
folder._delObject(SyndicationInformation.getId())
@@ -352,14 +354,24 @@
portal = aq_parent(aq_inner(tool))
try:
syndication = getToolByName(portal, "portal_syndication")
- return True
except AttributeError:
return False
+ infos = portal.ZopeFind(portal,
+ obj_metatypes=["SyndicationInformation"],
+ search_sub=True)
+ if infos != []:
+ return True
def upgrade_syndication_tool(tool):
"""Replace SyndicatonInformation objects with SyndicationInfo adapters"""
+ logger = logging.getLogger('GenericSetup.upgrade')
portal = aq_parent(aq_inner(tool))
syndication = getToolByName(portal, "portal_syndication")
syndication.base = DateTime_to_datetime(syndication.syUpdateBase)
- portal.ZopeFind(portal, obj_metatypes=["SyndicationInformation"])
\ No newline at end of file
+ syndication.isAllowed and True or False
+ infos = portal.ZopeFindAndApply(portal,
+ obj_metatypes=["SyndicationInformation"],
+ search_sub=True,
+ apply_func=change_to_adapter)
+ logger.info("SyndicationTool updated and SyndicationInformation replaced by Annotations")
More information about the checkins
mailing list