aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2008-08-21 17:56:23 +0000
committerPJ Eby <distutils-sig@python.org>2008-08-21 17:56:23 +0000
commit3430324f7fcd38e9d1a8c045812e80376292788e (patch)
treecb99f1355e6e5346834ed1be7f346b8c1fa689b8
parent22071a62ddcb38c2b224ab94981e6c301d41b187 (diff)
downloadexternal_python_setuptools-3430324f7fcd38e9d1a8c045812e80376292788e.tar.gz
external_python_setuptools-3430324f7fcd38e9d1a8c045812e80376292788e.tar.bz2
external_python_setuptools-3430324f7fcd38e9d1a8c045812e80376292788e.zip
Fix for http://bugs.python.org/setuptools/issue7 (backport from trunk)
--HG-- branch : setuptools-0.6 extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4065943
-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))
+