summaryrefslogtreecommitdiff
path: root/setuptools/command
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/command')
-rwxr-xr-xsetuptools/command/easy_install.py24
-rwxr-xr-xsetuptools/command/egg_info.py3
-rw-r--r--setuptools/command/test.py2
-rw-r--r--setuptools/command/upload_docs.py23
4 files changed, 31 insertions, 21 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index 36e7f359..e319f77c 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -474,8 +474,7 @@ class easy_install(Command):
else:
self.pth_file = None
- PYTHONPATH = os.environ.get('PYTHONPATH', '').split(os.pathsep)
- if instdir not in map(normalize_path, filter(None, PYTHONPATH)):
+ if instdir not in map(normalize_path, _pythonpath()):
# only PYTHONPATH dirs need a site.py, so pretend it's there
self.sitepy_installed = True
elif self.multi_version and not os.path.exists(pth_file):
@@ -1348,10 +1347,21 @@ class easy_install(Command):
setattr(self, attr, val)
+def _pythonpath():
+ items = os.environ.get('PYTHONPATH', '').split(os.pathsep)
+ return filter(None, items)
+
+
def get_site_dirs():
- # return a list of 'site' dirs
- sitedirs = [_f for _f in os.environ.get('PYTHONPATH',
- '').split(os.pathsep) if _f]
+ """
+ Return a list of 'site' dirs
+ """
+
+ sitedirs = []
+
+ # start with PYTHONPATH
+ sitedirs.extend(_pythonpath())
+
prefixes = [sys.prefix]
if sys.exec_prefix != sys.prefix:
prefixes.append(sys.exec_prefix)
@@ -1675,7 +1685,7 @@ def _first_line_re():
def auto_chmod(func, arg, exc):
- if func is os.remove and os.name == 'nt':
+ if func in [os.unlink, os.remove] and os.name == 'nt':
chmod(arg, stat.S_IWRITE)
return func(arg)
et, ev, _ = sys.exc_info()
@@ -2013,7 +2023,7 @@ class ScriptWriter(object):
gui apps.
"""
- template = textwrap.dedent("""
+ template = textwrap.dedent(r"""
# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
__requires__ = %(spec)r
import re
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index a32c42f8..6c00b0b7 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -112,7 +112,8 @@ def translate_pattern(glob):
if not last_chunk:
pat += sep
- return re.compile(pat + r'\Z(?ms)')
+ pat += r'\Z'
+ return re.compile(pat, flags=re.MULTILINE|re.DOTALL)
class egg_info(Command):
diff --git a/setuptools/command/test.py b/setuptools/command/test.py
index ef0af12f..b8863fdc 100644
--- a/setuptools/command/test.py
+++ b/setuptools/command/test.py
@@ -67,7 +67,7 @@ class test(Command):
user_options = [
('test-module=', 'm', "Run 'test_suite' in specified module"),
('test-suite=', 's',
- "Test suite to run (e.g. 'some_module.test_suite')"),
+ "Run single test, case or suite (e.g. 'module.test_suite')"),
('test-runner=', 'r', "Test runner to use"),
]
diff --git a/setuptools/command/upload_docs.py b/setuptools/command/upload_docs.py
index 269dc2d5..24a017cf 100644
--- a/setuptools/command/upload_docs.py
+++ b/setuptools/command/upload_docs.py
@@ -77,9 +77,8 @@ class upload_docs(upload):
self.mkpath(self.target_dir) # just in case
for root, dirs, files in os.walk(self.target_dir):
if root == self.target_dir and not files:
- raise DistutilsOptionError(
- "no files found in upload directory '%s'"
- % self.target_dir)
+ tmpl = "no files found in upload directory '%s'"
+ raise DistutilsOptionError(tmpl % self.target_dir)
for name in files:
full = os.path.join(root, name)
relative = root[len(self.target_dir):].lstrip(os.path.sep)
@@ -138,7 +137,7 @@ class upload_docs(upload):
part_groups = map(builder, data.items())
parts = itertools.chain.from_iterable(part_groups)
body_items = itertools.chain(parts, end_items)
- content_type = 'multipart/form-data; boundary=%s' % boundary
+ content_type = 'multipart/form-data; boundary=%s' % boundary.decode('ascii')
return b''.join(body_items), content_type
def upload_file(self, filename):
@@ -159,8 +158,8 @@ class upload_docs(upload):
body, ct = self._build_multipart(data)
- self.announce("Submitting documentation to %s" % (self.repository),
- log.INFO)
+ msg = "Submitting documentation to %s" % (self.repository)
+ self.announce(msg, log.INFO)
# build the Request
# We can't use urllib2 since we need to send the Basic
@@ -191,16 +190,16 @@ class upload_docs(upload):
r = conn.getresponse()
if r.status == 200:
- self.announce('Server response (%s): %s' % (r.status, r.reason),
- log.INFO)
+ msg = 'Server response (%s): %s' % (r.status, r.reason)
+ self.announce(msg, log.INFO)
elif r.status == 301:
location = r.getheader('Location')
if location is None:
location = 'https://pythonhosted.org/%s/' % meta.get_name()
- self.announce('Upload successful. Visit %s' % location,
- log.INFO)
+ msg = 'Upload successful. Visit %s' % location
+ self.announce(msg, log.INFO)
else:
- self.announce('Upload failed (%s): %s' % (r.status, r.reason),
- log.ERROR)
+ msg = 'Upload failed (%s): %s' % (r.status, r.reason)
+ self.announce(msg, log.ERROR)
if self.show_response:
print('-' * 75, r.read(), '-' * 75)