diff options
Diffstat (limited to 'distribute_setup.py')
-rw-r--r-- | distribute_setup.py | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/distribute_setup.py b/distribute_setup.py index f3199d12..eca355ce 100644 --- a/distribute_setup.py +++ b/distribute_setup.py @@ -19,6 +19,7 @@ import time import fnmatch import tempfile import tarfile +import optparse from distutils import log try: @@ -495,22 +496,31 @@ def _extractall(self, path=".", members=None): self._dbg(1, "tarfile: %s" % e) -def _build_install_args(argv): +def _build_install_args(user_install): install_args = [] - user_install = '--user' in argv - if user_install and sys.version_info < (2, 6): - log.warn("--user requires Python 2.6 or later") - raise SystemExit(1) if user_install: - install_args.append('--user') + if sys.version_info < (2, 6): + log.warn("--user requires Python 2.6 or later") + raise SystemExit(1) + else: + install_args.append('--user') return install_args -def main(argv, version=DEFAULT_VERSION): +def main(version=DEFAULT_VERSION): """Install or upgrade setuptools and EasyInstall""" - tarball = download_setuptools() - _install(tarball, _build_install_args(argv)) + parser = optparse.OptionParser() + parser.add_option( + '--user', dest='user_install', action='store_true', default=False, + help='install in user site package (requires Python 2.6 or later)') + parser.add_option( + '--download-base', dest='download_base', metavar="URL", + default=DEFAULT_URL, + help='alternative URL from where to download the distribute package') + options, args = parser.parse_args() + tarball = download_setuptools(download_base=options.download_base) + _install(tarball, _build_install_args(options.user_install)) if __name__ == '__main__': - main(sys.argv[1:]) + main() |