source: products/quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/setuphandlers.py @ 1925

Last change on this file since 1925 was 1925, checked in by liebster, 14 years ago

Move *removeSkins* from setuphandlers to upgrades step (http://codereview.corp.quintagroup.com/29241/show)

File size: 1.7 KB
Line 
1import logging
2
3from zope.component import getSiteManager
4from plone.browserlayer.utils import unregister_layer
5from plone.browserlayer.interfaces import ILocalBrowserLayerType
6
7from Products.CMFCore.utils import getToolByName
8
9logger = logging.getLogger('quintagroup.seoptimizer')
10
11def removeActions(site):
12    """ Remove actions.
13    """
14    types_tool = getToolByName(site, 'portal_types')
15    for ptype in types_tool.objectValues():
16        idxs = [idx_act[0] for idx_act in enumerate(ptype.listActions()) \
17                           if idx_act[1].id == 'seo_properties']
18        if idxs:
19            ptype.deleteActions(idxs)
20            logger.log(logging.INFO, "Deleted \"SEO Properties\" action for %s type." % ptype.id)
21
22def removeConfiglet(site, conf_id):
23    """ Remove configlet.
24    """
25    controlpanel_tool = getToolByName(site, 'portal_controlpanel')
26    if controlpanel_tool:
27        controlpanel_tool.unregisterConfiglet(conf_id)
28        logger.log(logging.INFO, "Unregistered \"%s\" configlet." % conf_id)
29
30def removeBrowserLayer(site):
31    """ Remove configlet.
32    """
33    name="qSEOptimizer"
34    site = getSiteManager(site)
35    registeredLayers = [r.name for r in site.registeredUtilities()
36                        if r.provided == ILocalBrowserLayerType]
37    if name in registeredLayers:
38        unregister_layer(name, site_manager=site)
39        logger.log(logging.INFO, "Unregistered \"%s\" browser layer." % name)
40
41def uninstall(context):
42    """ Do customized uninstallation.
43    """
44    if context.readDataFile('seo_uninstall.txt') is None:
45        return
46    site = context.getSite()
47    removeActions(site)
48    removeConfiglet(site, 'quintagroup.seoptimizer')
49    removeBrowserLayer(site)
Note: See TracBrowser for help on using the repository browser.