diff options
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-x | setuptools/package_index.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index 054220ba..e0db7273 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -96,7 +96,6 @@ def interpret_distro_name(location, basename, metadata, ``pkg_resources.normalize_path()`` on it before passing it to this routine! """ - # Generate alternative interpretations of a source distro name # Because some packages are ambiguous as to name/versions split # e.g. "adns-python-1.1.0", "egenix-mx-commercial", etc. @@ -110,6 +109,11 @@ def interpret_distro_name(location, basename, metadata, # versions in distribution archive names (sdist and bdist). parts = basename.split('-') + if not py_version: + for i,p in enumerate(parts[2:]): + if len(p)==5 and p.startswith('py2.'): + return # It's a bdist_dumb, not an sdist -- bail out + for p in range(1,len(parts)+1): yield Distribution( location, metadata, '-'.join(parts[:p]), '-'.join(parts[p:]), @@ -117,10 +121,6 @@ def interpret_distro_name(location, basename, metadata, platform = platform ) - - - - class PackageIndex(Environment): """A distribution index that scans web pages for download URLs""" @@ -534,6 +534,8 @@ class PackageIndex(Environment): def retry_sf_download(self, url, filename): try: return self._download_to(url, filename) + except (KeyboardInterrupt,SystemExit): + raise except: scheme, server, path, param, query, frag = urlparse.urlparse(url) if server!='dl.sourceforge.net': @@ -570,8 +572,6 @@ class PackageIndex(Environment): - - def open_url(self, url): try: return urllib2.urlopen(url) |