summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2010-05-08 03:29:09 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2010-05-08 03:29:09 (GMT)
commit4fbed104555725ee73f967df76b3ff9e2f47d377 (patch)
tree5e6f9716d7a5d550c273dcd0e20aada79c317bc0
parent77ccd6d0c7420c4a1323f7e781d766a611723bed (diff)
downloadcpython-4fbed104555725ee73f967df76b3ff9e2f47d377.zip
cpython-4fbed104555725ee73f967df76b3ff9e2f47d377.tar.gz
cpython-4fbed104555725ee73f967df76b3ff9e2f47d377.tar.bz2
Merged revisions 80953 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r80953 | senthil.kumaran | 2010-05-08 08:41:50 +0530 (Sat, 08 May 2010) | 3 lines Fix Issue8656 - urllib2 mangles file://-scheme URLs ........
-rw-r--r--Lib/test/test_urllib2.py3
-rw-r--r--Lib/urllib/request.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 1a8ffac..f173aa0 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -684,7 +684,7 @@ class HandlerTests(unittest.TestCase):
try:
data = r.read()
headers = r.info()
- newurl = r.geturl()
+ respurl = r.geturl()
finally:
r.close()
stats = os.stat(TESTFN)
@@ -695,6 +695,7 @@ class HandlerTests(unittest.TestCase):
self.assertEqual(headers["Content-type"], "text/plain")
self.assertEqual(headers["Content-length"], "13")
self.assertEqual(headers["Last-modified"], modified)
+ self.assertEqual(respurl, url)
for url in [
"file://localhost:80%s" % urlpath,
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 3293966..098630e 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -1216,7 +1216,8 @@ class FileHandler(BaseHandler):
host, port = splitport(host)
if not host or \
(not port and _safe_gethostbyname(host) in self.get_names()):
- return addinfourl(open(localfile, 'rb'), headers, 'file:'+file)
+ return addinfourl(open(localfile, 'rb'), headers, 'file://'+
+ host + file)
except OSError as msg:
# users shouldn't expect OSErrors coming from urlopen()
raise URLError(msg)