From: Senthil Kumaran Date: Sat, 8 May 2010 03:11:50 +0000 (+0000) Subject: Fix Issue8656 - urllib2 mangles file://-scheme URLs X-Git-Tag: v2.7b2~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6057ba1f97ea19c484b03d5dd2f431e7767fefd1;p=thirdparty%2FPython%2Fcpython.git Fix Issue8656 - urllib2 mangles file://-scheme URLs --- diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index 01a06fb8561c..9364b3d7c4ca 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -679,7 +679,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) @@ -690,6 +690,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/urllib2.py b/Lib/urllib2.py index 122f777ce4a3..84f78333e997 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -1291,7 +1291,7 @@ class FileHandler(BaseHandler): if not host or \ (not port and socket.gethostbyname(host) in self.get_names()): return addinfourl(open(localfile, 'rb'), - headers, 'file:'+file) + headers, 'file://'+ host + file) except OSError, msg: # urllib2 users shouldn't expect OSErrors coming from urlopen() raise URLError(msg)