aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsetuptools/package_index.py4
-rw-r--r--setuptools/tests/test_packageindex.py8
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))
+