76 lines
2.0 KiB
Python
76 lines
2.0 KiB
Python
|
##############################################################################
|
||
|
#
|
||
|
# Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
|
||
|
#
|
||
|
# This software is distributed under the terms of the Kupu
|
||
|
# License. See LICENSE.txt for license text. For a list of Kupu
|
||
|
# Contributors see CREDITS.txt.
|
||
|
#
|
||
|
##############################################################################
|
||
|
"""kupu package initialization
|
||
|
|
||
|
This module does some twirks to let us use kupu with Zope2, CMF/Plone
|
||
|
and Zope3
|
||
|
|
||
|
$Id: __init__.py 14546 2005-07-12 14:35:55Z duncan $
|
||
|
"""
|
||
|
|
||
|
# we need this for the CMF install script
|
||
|
kupu_globals = globals()
|
||
|
|
||
|
# test for Zope2
|
||
|
try:
|
||
|
import Zope
|
||
|
have_zope2 = 1
|
||
|
except ImportError:
|
||
|
have_zope2 = 0
|
||
|
|
||
|
# test for CMF
|
||
|
try:
|
||
|
import Products.CMFCore
|
||
|
have_cmf = 1
|
||
|
except ImportError:
|
||
|
have_cmf = 0
|
||
|
|
||
|
# test for Plone, removed because Plone isn't supported yet
|
||
|
try:
|
||
|
import Products.CMFPlone
|
||
|
have_plone = 1
|
||
|
except ImportError:
|
||
|
have_plone = 0
|
||
|
|
||
|
# test for FileSystemSite
|
||
|
try:
|
||
|
import Products.FileSystemSite
|
||
|
have_fss = 1
|
||
|
except ImportError:
|
||
|
have_fss = 0
|
||
|
|
||
|
# do the minimal stuff for skin registering
|
||
|
# note that CMF/Plone users will still have to run the
|
||
|
# Extensions/Install.py script
|
||
|
if have_cmf:
|
||
|
# Need to do this in case Archetypes isn't present.
|
||
|
from Products.CMFCore.FSFile import FSFile
|
||
|
from Products.CMFCore.DirectoryView import registerFileExtension, registerDirectory
|
||
|
registerFileExtension('xsl', FSFile)
|
||
|
registerDirectory('common', globals())
|
||
|
|
||
|
if have_plone:
|
||
|
from Products.kupu.plone import initialize
|
||
|
|
||
|
elif have_zope2 and have_fss:
|
||
|
import zope2
|
||
|
initialize = zope2.initialize
|
||
|
|
||
|
if have_zope2:
|
||
|
# in Zope 2, make all modules in the 'python' lib available
|
||
|
def __allow_access_to_unprotected_subobjects__(name, value=None):
|
||
|
return name in ('python')
|
||
|
|
||
|
from AccessControl import allow_module
|
||
|
allow_module('Products.kupu.python.nationalizer')
|
||
|
allow_module('Products.kupu.python.spellcheck')
|
||
|
|
||
|
# do nothing for zope3 (all is done in zcml)
|