diff options
-rwxr-xr-x | setuptools/package_index.py | 4 | ||||
-rw-r--r-- | setuptools/tests/test_packageindex.py | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index fed36a88..84f1fcea 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -220,7 +220,8 @@ class PackageIndex(Environment): map(self.add, dists) def url_ok(self, url, fatal=False): - if self.allows(urlparse.urlparse(url)[1]): + s = URL_SCHEME(url) + if (s and s.group(1).lower()=='file') or self.allows(urlparse.urlparse(url)[1]): return True msg = "\nLink to % s ***BLOCKED*** by --allow-hosts\n" if fatal: @@ -243,7 +244,6 @@ class PackageIndex(Environment): dist.precedence = SOURCE_DIST self.add(dist) - def process_index(self,url,page): """Process the contents of a PyPI page""" def scan(link): diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py index 2d619a08..0231eda8 100644 --- a/setuptools/tests/test_packageindex.py +++ b/setuptools/tests/test_packageindex.py @@ -17,3 +17,11 @@ class TestPackageIndex(unittest.TestCase): self.assert_(url in str(v)) else: self.assert_(isinstance(v,urllib2.HTTPError)) + + def test_url_ok(self): + index = setuptools.package_index.PackageIndex( + hosts=('www.example.com',) + ) + url = 'file:///tmp/test_package_index' + self.assert_(index.url_ok(url, True)) + |