Commit e7932397 authored by agronholm's avatar agronholm

PEP8 fixes

--HG--
branch : distribute
extra : rebase_source : ff3b0f50ec60054fd05b809edf77740ff7b506ec
parent bec82b20
...@@ -22,12 +22,27 @@ import sys ...@@ -22,12 +22,27 @@ import sys
import os import os
import time import time
import fnmatch import fnmatch
from distutils import log import tempfile
import tarfile
import subprocess import subprocess
from distutils import log
IS_JYTHON = sys.platform.startswith('java') IS_JYTHON = sys.platform.startswith('java')
DEFAULT_VERSION = "0.6.2" DEFAULT_VERSION = "0.6.2"
DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/" DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/"
SETUPTOOLS_PKG_INFO = """\
Metadata-Version: 1.0
Name: setuptools
Version: 0.6c9
Summary: xxxx
Home-page: xxx
Author: xxx
Author-email: xxx
License: xxx
Description: xxx
"""
def quote(c): def quote(c):
if sys.platform == 'win32': if sys.platform == 'win32':
...@@ -35,6 +50,7 @@ def quote(c): ...@@ -35,6 +50,7 @@ def quote(c):
return '"%s"' % c return '"%s"' % c
return c return c
def python_cmd(cmd): def python_cmd(cmd):
python = quote(sys.executable) python = quote(sys.executable)
cmd = quote(cmd) cmd = quote(cmd)
...@@ -43,6 +59,7 @@ def python_cmd(cmd): ...@@ -43,6 +59,7 @@ def python_cmd(cmd):
args = [os.P_WAIT, python, python] + cmd.split() + [os.environ] args = [os.P_WAIT, python, python] + cmd.split() + [os.environ]
return os.spawnle(*args) == 0 return os.spawnle(*args) == 0
def _install(tarball): def _install(tarball):
# extracting the tarball # extracting the tarball
tmpdir = tempfile.mkdtemp() tmpdir = tempfile.mkdtemp()
...@@ -65,6 +82,7 @@ def _install(tarball): ...@@ -65,6 +82,7 @@ def _install(tarball):
finally: finally:
os.chdir(old_wd) os.chdir(old_wd)
def _build_egg(tarball, to_dir=os.curdir): def _build_egg(tarball, to_dir=os.curdir):
# extracting the tarball # extracting the tarball
tmpdir = tempfile.mkdtemp() tmpdir = tempfile.mkdtemp()
...@@ -94,6 +112,7 @@ def _build_egg(tarball, to_dir=os.curdir): ...@@ -94,6 +112,7 @@ def _build_egg(tarball, to_dir=os.curdir):
finally: finally:
os.chdir(old_wd) os.chdir(old_wd)
def _do_download(version=DEFAULT_VERSION, download_base=DEFAULT_URL, def _do_download(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
to_dir=os.curdir, download_delay=15): to_dir=os.curdir, download_delay=15):
tarball = download_setuptools(version, download_base, tarball = download_setuptools(version, download_base,
...@@ -103,11 +122,11 @@ def _do_download(version=DEFAULT_VERSION, download_base=DEFAULT_URL, ...@@ -103,11 +122,11 @@ def _do_download(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
import setuptools import setuptools
setuptools.bootstrap_install_from = egg setuptools.bootstrap_install_from = egg
def use_setuptools(
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
download_delay=15 to_dir=os.curdir, download_delay=15):
): was_imported = 'pkg_resources' in sys.modules or \
was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules 'setuptools' in sys.modules
try: try:
import pkg_resources import pkg_resources
if not hasattr(pkg_resources, '_distribute'): if not hasattr(pkg_resources, '_distribute'):
...@@ -115,15 +134,15 @@ def use_setuptools( ...@@ -115,15 +134,15 @@ def use_setuptools(
except ImportError: except ImportError:
return _do_download(version, download_base, to_dir, download_delay) return _do_download(version, download_base, to_dir, download_delay)
try: try:
pkg_resources.require("distribute>="+version); return pkg_resources.require("distribute>="+version)
return
except pkg_resources.VersionConflict, e: except pkg_resources.VersionConflict, e:
if was_imported: if was_imported:
print >>sys.stderr, ( print >>sys.stderr, (
"The required version of distribute (>=%s) is not available, and\n" "The required version of distribute (>=%s) is not available, and\n"
"can't be installed while this script is running. Please install\n" "can't be installed while this script is running. Please install\n"
" a more recent version first, using 'easy_install -U distribute'." " a more recent version first, using 'easy_install -U distribute'."
"\n\n(Currently using %r)" "\n\n(Currently using %r)") % (version, e.args[0])
) % (version, e.args[0])
sys.exit(2) sys.exit(2)
else: else:
del pkg_resources, sys.modules['pkg_resources'] # reload ok del pkg_resources, sys.modules['pkg_resources'] # reload ok
...@@ -131,16 +150,16 @@ def use_setuptools( ...@@ -131,16 +150,16 @@ def use_setuptools(
except pkg_resources.DistributionNotFound: except pkg_resources.DistributionNotFound:
return _do_download(version, download_base, to_dir, download_delay) return _do_download(version, download_base, to_dir, download_delay)
def download_setuptools(
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
delay=15, to_dir=os.curdir, delay=15):
):
"""Download distribute from a specified location and return its filename """Download distribute from a specified location and return its filename
`version` should be a valid distribute version number that is available `version` should be a valid distribute version number that is available
as an egg for download under the `download_base` URL (which should end as an egg for download under the `download_base` URL (which should end
with a '/'). `to_dir` is the directory where the egg will be downloaded. with a '/'). `to_dir` is the directory where the egg will be downloaded.
`delay` is the number of seconds to pause before an actual download attempt. `delay` is the number of seconds to pause before an actual download
attempt.
""" """
import urllib2 import urllib2
tgz_name = "distribute-%s.tar.gz" % version tgz_name = "distribute-%s.tar.gz" % version
...@@ -149,7 +168,6 @@ def download_setuptools( ...@@ -149,7 +168,6 @@ def download_setuptools(
src = dst = None src = dst = None
if not os.path.exists(saveto): # Avoid repeated downloads if not os.path.exists(saveto): # Avoid repeated downloads
try: try:
from distutils import log
log.warn("Downloading %s", url) log.warn("Downloading %s", url)
src = urllib2.urlopen(url) src = urllib2.urlopen(url)
# Read/write all in one block, so we don't create a corrupt file # Read/write all in one block, so we don't create a corrupt file
...@@ -165,18 +183,6 @@ def download_setuptools( ...@@ -165,18 +183,6 @@ def download_setuptools(
return os.path.realpath(saveto) return os.path.realpath(saveto)
SETUPTOOLS_PKG_INFO = """\
Metadata-Version: 1.0
Name: setuptools
Version: 0.6c9
Summary: xxxx
Home-page: xxx
Author: xxx
Author-email: xxx
License: xxx
Description: xxx
"""
def _patch_file(path, content): def _patch_file(path, content):
"""Will backup the file then patch it""" """Will backup the file then patch it"""
existing_content = open(path).read() existing_content = open(path).read()
...@@ -193,9 +199,11 @@ def _patch_file(path, content): ...@@ -193,9 +199,11 @@ def _patch_file(path, content):
f.close() f.close()
return True return True
def _same_content(path, content): def _same_content(path, content):
return open(path).read() == content return open(path).read() == content
def _rename_path(path): def _rename_path(path):
new_name = path + '.OLD.%s' % time.time() new_name = path + '.OLD.%s' % time.time()
log.warn('Renaming %s into %s' % (path, new_name)) log.warn('Renaming %s into %s' % (path, new_name))
...@@ -210,6 +218,7 @@ def _rename_path(path): ...@@ -210,6 +218,7 @@ def _rename_path(path):
os.rename(path, new_name) os.rename(path, new_name)
return new_name return new_name
def _remove_flat_installation(placeholder): def _remove_flat_installation(placeholder):
if not os.path.isdir(placeholder): if not os.path.isdir(placeholder):
log.warn('Unkown installation at %s' % placeholder) log.warn('Unkown installation at %s' % placeholder)
...@@ -242,6 +251,7 @@ def _remove_flat_installation(placeholder): ...@@ -242,6 +251,7 @@ def _remove_flat_installation(placeholder):
'Setuptools distribution' % element) 'Setuptools distribution' % element)
return True return True
def after_install(dist): def after_install(dist):
log.warn('After install bootstrap.') log.warn('After install bootstrap.')
placeholder = dist.get_command_obj('install').install_purelib placeholder = dist.get_command_obj('install').install_purelib
...@@ -268,6 +278,7 @@ def after_install(dist): ...@@ -268,6 +278,7 @@ def after_install(dist):
finally: finally:
f.close() f.close()
def _patch_egg_dir(path): def _patch_egg_dir(path):
# let's check if it's already patched # let's check if it's already patched
pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO') pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO')
...@@ -286,10 +297,12 @@ def _patch_egg_dir(path): ...@@ -286,10 +297,12 @@ def _patch_egg_dir(path):
f.close() f.close()
return True return True
def before_install(): def before_install():
log.warn('Before install bootstrap.') log.warn('Before install bootstrap.')
fake_setuptools() fake_setuptools()
def _under_prefix(location): def _under_prefix(location):
if 'install' not in sys.argv: if 'install' not in sys.argv:
return True return True
...@@ -307,6 +320,7 @@ def _under_prefix(location): ...@@ -307,6 +320,7 @@ def _under_prefix(location):
return location.startswith(USER_SITE) return location.startswith(USER_SITE)
return True return True
def fake_setuptools(): def fake_setuptools():
log.warn('Scanning installed packages') log.warn('Scanning installed packages')
try: try:
...@@ -352,63 +366,63 @@ def fake_setuptools(): ...@@ -352,63 +366,63 @@ def fake_setuptools():
log.warn('Patched done.') log.warn('Patched done.')
_relaunch() _relaunch()
def _relaunch(): def _relaunch():
log.warn('Relaunching...') log.warn('Relaunching...')
# we have to relaunch the process # we have to relaunch the process
args = [sys.executable] + sys.argv args = [sys.executable] + sys.argv
if IS_JYTHON: if IS_JYTHON:
sys.exit(subprocess.call(args)) sys.exit(subprocess.call(args))
else: else:
sys.exit(os.spawnv(os.P_WAIT, sys.executable, args)) sys.exit(os.spawnv(os.P_WAIT, sys.executable, args))
import tempfile
import tarfile
def extractall(self, path=".", members=None): def extractall(self, path=".", members=None):
"""Extract all members from the archive to the current working """Extract all members from the archive to the current working
directory and set owner, modification time and permissions on directory and set owner, modification time and permissions on
directories afterwards. `path' specifies a different directory directories afterwards. `path' specifies a different directory
to extract to. `members' is optional and must be a subset of the to extract to. `members' is optional and must be a subset of the
list returned by getmembers(). list returned by getmembers().
""" """
import copy import copy
import operator import operator
from tarfile import ExtractError from tarfile import ExtractError
directories = [] directories = []
if members is None: if members is None:
members = self members = self
for tarinfo in members: for tarinfo in members:
if tarinfo.isdir(): if tarinfo.isdir():
# Extract directories with a safe mode. # Extract directories with a safe mode.
directories.append(tarinfo) directories.append(tarinfo)
tarinfo = copy.copy(tarinfo) tarinfo = copy.copy(tarinfo)
tarinfo.mode = 0700 tarinfo.mode = 0700
self.extract(tarinfo, path) self.extract(tarinfo, path)
# Reverse sort directories. # Reverse sort directories.
directories.sort(key=operator.attrgetter('name')) directories.sort(key=operator.attrgetter('name'))
directories.reverse() directories.reverse()
# Set correct owner, mtime and filemode on directories. # Set correct owner, mtime and filemode on directories.
for tarinfo in directories: for tarinfo in directories:
dirpath = os.path.join(path, tarinfo.name) dirpath = os.path.join(path, tarinfo.name)
try: try:
self.chown(tarinfo, dirpath) self.chown(tarinfo, dirpath)
self.utime(tarinfo, dirpath) self.utime(tarinfo, dirpath)
self.chmod(tarinfo, dirpath) self.chmod(tarinfo, dirpath)
except ExtractError, e: except ExtractError, e:
if self.errorlevel > 1: if self.errorlevel > 1:
raise raise
else: else:
self._dbg(1, "tarfile: %s" % e) self._dbg(1, "tarfile: %s" % e)
def main(argv, version=DEFAULT_VERSION): def main(argv, version=DEFAULT_VERSION):
"""Install or upgrade setuptools and EasyInstall""" """Install or upgrade setuptools and EasyInstall"""
tarball = download_setuptools() tarball = download_setuptools()
_install(tarball) _install(tarball)
if __name__ == '__main__': if __name__ == '__main__':
main(sys.argv[1:]) main(sys.argv[1:])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment