#!/usr/bin/python ############################################################################## # # Copyright (c) 2004 Zope Corporation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Script to create a new Zope instance home. $Id$ """ import os import sys here = os.path.dirname(os.path.realpath(__file__)) swhome = os.path.dirname(here) from_checkout = os.path.isdir(os.path.join(swhome, ".svn")) for parts in [("src",), ("lib", "python"), ("Lib", "site-packages"), ("Zope3", "src",), ("Zope3", "lib", "python"), ("Zope3", "Lib", "site-packages")]: for addon in [("zope", "app", "appsetup"), ("schooltool", "setup")]: d = os.path.join(swhome, *(parts + addon)) if os.path.isdir(d): d = os.path.join(swhome, *parts) sys.path.insert(0, d) try: import schooltool.setup import zope.app.server except ImportError: print >> sys.stderr, \ "Could not locate SchoolTool or Zope software installation!" sys.exit(1) # Insert our custom skeleton directory sys.argv.insert(1, '--skelsrc=%s' %os.path.join(swhome, 'schooltool-skel')) # If no username and password was specified, use the default ones from schooltool.app import main if '-u' not in sys.argv and '--user' not in sys.argv: sys.argv.insert( 1, '-u%s:%s' %(main.MANAGER_USERNAME, main.MANAGER_PASSWORD)) from schooltool.setup.mkschooltoolinst import main sys.exit(main(from_checkout=from_checkout))