Mercurial > python-cmd2
comparison cmd2/bootstrap.py @ 100:3de2a3eb765a
oops, renesting directory
author | catherine@dellzilla |
---|---|
date | Mon, 29 Sep 2008 12:48:29 -0400 |
parents | bootstrap.py@2d6280e022e4 |
children |
comparison
equal
deleted
inserted
replaced
99:00898931969b | 100:3de2a3eb765a |
---|---|
1 ############################################################################## | |
2 # | |
3 # Copyright (c) 2006 Zope Corporation and Contributors. | |
4 # All Rights Reserved. | |
5 # | |
6 # This software is subject to the provisions of the Zope Public License, | |
7 # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. | |
8 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED | |
9 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
10 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS | |
11 # FOR A PARTICULAR PURPOSE. | |
12 # | |
13 ############################################################################## | |
14 """Bootstrap a buildout-based project | |
15 | |
16 Simply run this script in a directory containing a buildout.cfg. | |
17 The script accepts buildout command-line options, so you can | |
18 use the -c option to specify an alternate configuration file. | |
19 | |
20 $Id$ | |
21 """ | |
22 | |
23 import os, shutil, sys, tempfile, urllib2 | |
24 | |
25 tmpeggs = tempfile.mkdtemp() | |
26 | |
27 try: | |
28 import pkg_resources | |
29 except ImportError: | |
30 ez = {} | |
31 exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' | |
32 ).read() in ez | |
33 ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) | |
34 | |
35 import pkg_resources | |
36 | |
37 if sys.platform == 'win32': | |
38 def quote(c): | |
39 if ' ' in c: | |
40 return '"%s"' % c # work around spawn lamosity on windows | |
41 else: | |
42 return c | |
43 else: | |
44 def quote (c): | |
45 return c | |
46 | |
47 cmd = 'from setuptools.command.easy_install import main; main()' | |
48 ws = pkg_resources.working_set | |
49 assert os.spawnle( | |
50 os.P_WAIT, sys.executable, quote (sys.executable), | |
51 '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout', | |
52 dict(os.environ, | |
53 PYTHONPATH= | |
54 ws.find(pkg_resources.Requirement.parse('setuptools')).location | |
55 ), | |
56 ) == 0 | |
57 | |
58 ws.add_entry(tmpeggs) | |
59 ws.require('zc.buildout') | |
60 import zc.buildout.buildout | |
61 zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap']) | |
62 shutil.rmtree(tmpeggs) |