diff options
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-x | setuptools/package_index.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index f6bc45f5..d3f3f561 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -166,7 +166,6 @@ class PackageIndex(Environment): """Evaluate a URL as a possible download, and maybe retrieve it""" if url in self.scanned_urls and not retrieve: return - self.scanned_urls[url] = True if not URL_SCHEME(url): self.process_filename(url) @@ -187,7 +186,8 @@ class PackageIndex(Environment): return self.info("Reading %s", url) - f = self.open_url(url) + f = self.open_url(url, "Download error: %s -- Some packages may not be found!") + if f is None: return self.fetched_urls[url] = self.fetched_urls[f.url] = True if 'html' not in f.headers.get('content-type', '').lower(): @@ -572,7 +572,7 @@ class PackageIndex(Environment): pass # no-op - def open_url(self, url): + def open_url(self, url, warning=None): if url.startswith('file:'): return local_open(url) try: @@ -580,7 +580,8 @@ class PackageIndex(Environment): except urllib2.HTTPError, v: return v except urllib2.URLError, v: - raise DistutilsError("Download error: %s" % v.reason) + if warning: self.warn(warning, v.reason) + else: raise DistutilsError("Download error: %s" % v.reason) def _download_url(self, scheme, url, tmpdir): # Determine download filename @@ -612,7 +613,6 @@ class PackageIndex(Environment): self.process_url(url, True) - def _attempt_download(self, url, filename): headers = self._download_to(url, filename) if 'html' in headers['content-type'].lower(): |