Changeset 1850 in products
- Timestamp:
- Mar 4, 2010 9:02:17 PM (14 years ago)
- Location:
- quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer
- Files:
-
- 10 added
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/Extensions/Install.py
r1740 r1850 1 import logging 1 2 from Products.CMFCore.utils import getToolByName 3 from Products.GenericSetup.upgrade import _upgrade_registry 2 4 3 5 from quintagroup.seoptimizer.config import PROJECT_NAME 4 6 7 logger = logging.getLogger('quintagroup.seoptimizer') 8 5 9 # our GenericSetup profile names 6 10 INSTALL = 'profile-%s:default' % PROJECT_NAME 7 REINSTALL = 'profile-%s:reinstall' % PROJECT_NAME8 11 UNINSTALL = 'profile-%s:uninstall' % PROJECT_NAME 9 12 … … 16 19 setup_tool = getToolByName(portal, 'portal_setup') 17 20 if reinstall: 18 setup_tool.runAllImportStepsFromProfile(REINSTALL) 21 step = None 22 profile_id = 'quintagroup.seoptimizer:default' 23 steps_to_run = [s['id'] for s in setup_tool.listUpgrades(profile_id, show_old=False)] 24 for step_id in steps_to_run: 25 step = _upgrade_registry.getUpgradeStep(profile_id, step_id) 26 step.doStep(setup_tool) 27 msg = "Ran upgrade step %s for profile %s" % (step.title, profile_id) 28 logger.log(logging.INFO, msg) 29 # We update the profile version to the last one we have reached 30 # with running an upgrade step. 31 if step and step.dest is not None and step.checker is None: 32 setup_tool.setLastVersionForProfile(profile_id, step.dest) 19 33 return "Ran all reinstall steps." 20 34 else: -
quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/profiles.zcml
r1777 r1850 13 13 14 14 <genericsetup:registerProfile 15 name="reinstall"16 title="quintagroup.seoptimizer reinstall"17 directory="profiles/reinstall"18 description="Reinstall quintagroup.seoptimizer"19 provides="Products.GenericSetup.interfaces.EXTENSION"20 />21 22 <genericsetup:registerProfile23 15 name="uninstall" 24 16 title="quintagroup.seoptimizer uninstall" … … 28 20 /> 29 21 22 <genericsetup:registerProfile 23 name="upgrade_2_to_3" 24 title="Upgrade quintagroup.seoptimizer 2.x.x to 3.0.0" 25 directory="profiles/upgrade_2_to_3" 26 description="Upgrades the quintagroup.seoptimizer from version 2.x.x to 3.0.0." 27 for="Products.CMFPlone.interfaces.IMigratingPloneSiteRoot" 28 provides="Products.GenericSetup.interfaces.EXTENSION" 29 /> 30 31 <genericsetup:upgradeStep 32 title="Upgrade quintagroup.seoptimizer" 33 description="Upgrade quintagroup.seoptimizer 2.x.x to 3.0.0" 34 source="*" 35 destination="3.0.0" 36 handler=".upgrades.upgrade_2_to_3" 37 sortkey="1" 38 profile="quintagroup.seoptimizer:default" /> 39 30 40 </configure> -
quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/profiles/default/metadata.xml
r1663 r1850 1 1 <?xml version="1.0"?> 2 2 <metadata> 3 <version> 2.3.0</version>3 <version>3.0.0</version> 4 4 </metadata> -
quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/setuphandlers.py
r1832 r1850 1 1 import logging 2 2 from Products.CMFCore.utils import getToolByName 3 from Products.CMFCore.Expression import Expression4 3 5 4 logger = logging.getLogger('quintagroup.seoptimizer') 6 FIX_PTYPES_DOMAIN = ['Document', 'File', 'News Item']7 5 8 6 def removeSkin(site, layer): … … 34 32 logger.log(logging.INFO, "Unregistered \"%s\" configlet." % conf_id) 35 33 36 def changeDomain(site):37 """ Fixes old versions bug: Change of content type's domain to 'plone'.38 """39 types_tool = getToolByName(site, 'portal_types')40 for ptype in [ptypes for ptypes in types_tool.objectValues() if ptypes.id in FIX_PTYPES_DOMAIN]:41 if ptype.i18n_domain == 'quintagroup.seoptimizer':42 ptype.i18n_domain = 'plone'43 logger.log(logging.INFO, "I18n Domain of the type \'%s\' changed to \'plone\'." % ptype.id)44 45 def changeMetatagsOrderList(site):46 """ Change format metatags order list from "metaname accessor" to "metaname".47 """48 types_tool = getToolByName(site, 'portal_types')49 pprops_tool = getToolByName(site, 'portal_properties')50 seoprops_tool = getToolByName(pprops_tool, 'seo_properties')51 mto = seoprops_tool.getProperty('metatags_order', [])52 mto_new = [line.split(' ')[0].strip() for line in mto]53 if not list(mto) == mto_new:54 logger.log(logging.INFO, "Changed format metatags order list in configlet from \"metaname accessor\" to \"metaname\".")55 seoprops_tool.manage_changeProperties(metatags_order=mto_new)56 57 def migrationActions(site):58 """ Migration actions from portal_types action to portal_actions.59 """60 types_tool = getToolByName(site, 'portal_types')61 pprops_tool = getToolByName(site, 'portal_properties')62 seoprops_tool = getToolByName(pprops_tool, 'seo_properties')63 ctws = list(seoprops_tool.getProperty('content_types_with_seoproperties', []))64 65 for ptype in types_tool.objectValues():66 idxs = [idx_act[0] for idx_act in enumerate(ptype.listActions()) if idx_act[1].id == 'seo_properties']67 if idxs:68 if ptype.id not in ctws:69 ctws.append(ptype.id)70 ptype.deleteActions(idxs)71 logger.log(logging.INFO, "Moved \"SEO Properties\" action from %s type in portal actions." % ptype.id)72 seoprops_tool.manage_changeProperties(content_types_with_seoproperties=ctws)73 74 34 def importVarious(context): 75 35 """ Do customized installation. … … 77 37 if context.readDataFile('seo_install.txt') is None: 78 38 return 79 80 def reinstall(context):81 """ Do customized reinstallation.82 """83 if context.readDataFile('seo_reinstall.txt') is None:84 return85 site = context.getSite()86 migrationActions(site)87 changeDomain(site)88 changeMetatagsOrderList(site)89 39 90 40 def uninstall(context):
Note: See TracChangeset
for help on using the changeset viewer.