Skip to content

Commit

Permalink
bpo-38449: Revert "bpo-22347: Update mimetypes.guess_type to allow op…
Browse files Browse the repository at this point in the history
…er parsing of URLs (pythonGH-15522)" (pythonGH-16724)

This reverts commit 87bd207.

https://bugs.python.org/issue38449
(cherry picked from commit 19a3d87)

Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>
  • Loading branch information
maxking authored and miss-islington committed Oct 12, 2019
1 parent 193366e commit badbe63
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 11 deletions.
3 changes: 1 addition & 2 deletions Lib/mimetypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,7 @@ def guess_type(self, url, strict=True):
but non-standard types.
"""
url = os.fspath(url)
p = urllib.parse.urlparse(url)
scheme, url = p.scheme, p.path
scheme, url = urllib.parse._splittype(url)
if scheme == 'data':
# syntax of data URLs:
# dataurl := "data:" [ mediatype ] [ ";base64" ] "," data
Expand Down
8 changes: 0 additions & 8 deletions Lib/test/test_mimetypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,6 @@ def test_non_standard_types(self):
eq(self.db.guess_type('foo.xul', strict=False), ('text/xul', None))
eq(self.db.guess_extension('image/jpg', strict=False), '.jpg')

def test_url(self):
result = self.db.guess_type('http://host.html')
msg = 'URL only has a host name, not a file'
self.assertSequenceEqual(result, (None, None), msg)
result = self.db.guess_type('http://example.com/host.html')
msg = 'Should be text/html'
self.assertSequenceEqual(result, ('text/html', None), msg)

def test_guess_all_types(self):
eq = self.assertEqual
unless = self.assertTrue
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_urllib2.py
Original file line number Diff line number Diff line change
Expand Up @@ -746,7 +746,7 @@ def connect_ftp(self, user, passwd, host, port, dirs,
["foo", "bar"], "", None),
("ftp://localhost/baz.gif;type=a",
"localhost", ftplib.FTP_PORT, "", "", "A",
[], "baz.gif", "image/gif"),
[], "baz.gif", None), # XXX really this should guess image/gif
]:
req = Request(url)
req.timeout = None
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Revert GH-15522, which introduces a regression in
:meth:`mimetypes.guess_type` due to improper handling of filenames as urls.

0 comments on commit badbe63

Please sign in to comment.