/docs/gp.fileupload Gawel's repository

author Gael Pasgrimaud <gael@gawel.org>
Sun Feb 08 16:34:48 2009 +0100 (19 months ago)
changeset 135 092dbb058c6a
child 160 86010d39185b
permissions -rw-r--r--
fix url
     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
    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.
    20 $Id$
    21 """
    23 import os, shutil, sys, tempfile, urllib2
    25 tmpeggs = tempfile.mkdtemp()
    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)
    35     import pkg_resources
    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
    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
    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)