diff options
| author | Steve Kowalik <steven@wedontsleep.org> | 2016-01-07 14:21:49 +1100 |
|---|---|---|
| committer | Steve Kowalik <steven@wedontsleep.org> | 2016-01-07 14:21:49 +1100 |
| commit | 027ca18211667f9467319d8dc2f0ca1137f86474 (patch) | |
| tree | f632a1187ca4a969f31cd40317e70b1ba3e5acf4 /pkg_resources | |
| parent | 337ea160558acc352c8a61b9d27c93d1f9e09618 (diff) | |
| download | python-setuptools-git-027ca18211667f9467319d8dc2f0ca1137f86474.tar.gz | |
Properly merge from default.
Diffstat (limited to 'pkg_resources')
| -rw-r--r-- | pkg_resources/__init__.py | 47 |
1 files changed, 14 insertions, 33 deletions
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index aa221347..4e3a25ae 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -37,7 +37,6 @@ import plistlib import email.parser import tempfile import textwrap -import itertools from pkgutil import get_importer try: @@ -46,23 +45,8 @@ except ImportError: # Python 3.2 compatibility import imp as _imp -PY3 = sys.version_info > (3,) -PY2 = not PY3 - -if PY3: - from urllib.parse import urlparse, urlunparse - -if PY2: - from urlparse import urlparse, urlunparse - filter = itertools.ifilter - map = itertools.imap - -if PY3: - string_types = str, -else: - string_types = str, eval('unicode') - -iteritems = (lambda i: i.items()) if PY3 else lambda i: i.iteritems() +from pkg_resources.extern import six +from pkg_resources.extern.six.moves import urllib # capture these to bypass sandboxing from os import utime @@ -87,18 +71,15 @@ try: except ImportError: pass -try: - import pkg_resources._vendor.packaging.version - import pkg_resources._vendor.packaging.specifiers - import pkg_resources._vendor.packaging.requirements - import pkg_resources._vendor.packaging.markers - packaging = pkg_resources._vendor.packaging -except ImportError: - # fallback to naturally-installed version; allows system packagers to - # omit vendored packages. - import packaging.version - import packaging.specifiers +from pkg_resources.extern import packaging +__import__('pkg_resources.extern.packaging.version') +__import__('pkg_resources.extern.packaging.specifiers') +__import__('pkg_resources._vendor.packaging.requirements') +__import__('pkg_resources._vendor.packaging.markers') + +filter = six.moves.filter +map = six.moves.map if (3, 0) < sys.version_info < (3, 3): msg = ( @@ -557,7 +538,7 @@ run_main = run_script def get_distribution(dist): """Return a current distribution object for a Requirement or string""" - if isinstance(dist, string_types): + if isinstance(dist, six.string_types): dist = Requirement.parse(dist) if isinstance(dist, Requirement): dist = get_provider(dist) @@ -2134,7 +2115,7 @@ def _set_parent_ns(packageName): def yield_lines(strs): """Yield non-empty/non-comment lines of a string or sequence""" - if isinstance(strs, string_types): + if isinstance(strs, six.string_types): for s in strs.splitlines(): s = s.strip() # skip blank lines/comments @@ -2289,9 +2270,9 @@ class EntryPoint(object): def _remove_md5_fragment(location): if not location: return '' - parsed = urlparse(location) + parsed = urllib.parse.urlparse(location) if parsed[-1].startswith('md5='): - return urlunparse(parsed[:-1] + ('',)) + return urllib.parse.urlunparse(parsed[:-1] + ('',)) return location |
