aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/package_index.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-xsetuptools/package_index.py14
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)