dirceu (owner)

Revisions

gist: 20394 Download_button fork
public
Public Clone URL: git://gist.github.com/20394.git
Embed All Files: show embed
Install.py #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- coding: utf-8 -*-
 
from StringIO import StringIO
from Products.CMFCore.utils import getToolByName
 
from zope.app.component.hooks import setSite
from zope.app.component.interfaces import ISite, IPossibleSite
from Products.Five.site.localsite import enableLocalSiteHook
 
from collective.lead.interfaces import IDatabase
from interlegis.sqlalchemystorage.database import InterlegisDatabase
 
def install(self, reinstall=False):
    """ External Method to install interlegis.sqlalchemystorage """
    out = StringIO()
    print >> out, "Installation log of interlegis.sqlalchemystorage"
 
    portal = getToolByName(self,'portal_url').getPortalObject()
 
    if not IPossibleSite.providedBy(portal):
        e = "Object is not IPossible: %s " % portal.getPhysicalPath()
        print >> out, e
        raise Exception(e)
    if not ISite.providedBy(portal):
        enableLocalSiteHook(portal)
        setSite(portal)
 
    # register InterlegisDatabase utility
    sm = portal.getSiteManager()
    sm.registerUtility(InterlegisDatabase, IDatabase)
 
    return out.getvalue()
 
def uninstall(self, reinstall=False):
    out = StringIO()
    return out.getvalue()