From 51964772b7dd412feb7a92dd88887f4cbc6a1b49 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sat, 8 May 2010 03:31:56 +0000 Subject: Merged revisions 80955 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r80955 | senthil.kumaran | 2010-05-08 08:59:09 +0530 (Sat, 08 May 2010) | 9 lines 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 ........ ................ --- Lib/test/test_urllib2.py | 3 ++- Lib/urllib/request.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index f0297a5..2da3bef 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -689,7 +689,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) @@ -700,6 +700,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 002e326..6e892e4 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) -- cgit v0.12