################################################################################ Copyright (c) 2006 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.###############################################################################"""Bootstrap a buildout-based projectSimply run this script in a directory containing a buildout.cfg.The script accepts buildout command-line options, so you canuse the -c option to specify an alternate configuration file.$Id$"""importos,shutil,sys,tempfile,urllib2tmpeggs=tempfile.mkdtemp()is_jython=sys.platform.startswith('java')try:importpkg_resourcesexceptImportError:ez={}execurllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py').read()inezez['use_setuptools'](to_dir=tmpeggs,download_delay=0)importpkg_resourcesifsys.platform=='win32':defquote(c):if' 'inc:return'"%s"'%c# work around spawn lamosity on windowselse:returncelse:defquote(c):returnccmd='from setuptools.command.easy_install import main; main()'ws=pkg_resources.working_setifis_jython:importsubprocessassertsubprocess.Popen([sys.executable]+['-c',quote(cmd),'-mqNxd',quote(tmpeggs),'zc.buildout'],env=dict(os.environ,PYTHONPATH=ws.find(pkg_resources.Requirement.parse('setuptools')).location),).wait()==0else:assertos.spawnle(os.P_WAIT,sys.executable,quote(sys.executable),'-c',quote(cmd),'-mqNxd',quote(tmpeggs),'zc.buildout',dict(os.environ,PYTHONPATH=ws.find(pkg_resources.Requirement.parse('setuptools')).location),)==0ws.add_entry(tmpeggs)ws.require('zc.buildout')importzc.buildout.buildoutzc.buildout.buildout.main(sys.argv[1:]+['bootstrap'])shutil.rmtree(tmpeggs)