From 6dee69577ac22506d3fa59dcc13c9e0cb9ee3e8a Mon Sep 17 00:00:00 2001 From: kixorz Date: Tue, 3 May 2022 16:17:57 -0500 Subject: bpo-45639: Add webp and avif image formats to mimetypes (#29259) Co-authored-by: Jelle Zijlstra --- Lib/mimetypes.py | 2 ++ Lib/test/test_mimetypes.py | 3 +++ Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst | 1 + 3 files changed, 6 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 1aa3246..f6c43b3 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -517,6 +517,7 @@ def _default_mime_types(): '.aiff' : 'audio/x-aiff', '.ra' : 'audio/x-pn-realaudio', '.wav' : 'audio/x-wav', + '.avif' : 'image/avif', '.bmp' : 'image/bmp', '.gif' : 'image/gif', '.ief' : 'image/ief', @@ -589,6 +590,7 @@ def _default_mime_types(): '.pict': 'image/pict', '.pct' : 'image/pict', '.pic' : 'image/pict', + '.webp': 'image/webp', '.xul' : 'text/xul', } diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index f2b1036..d64aee7 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -96,12 +96,14 @@ class MimeTypesTestCase(unittest.TestCase): # First try strict eq(self.db.guess_type('foo.xul', strict=True), (None, None)) eq(self.db.guess_extension('image/jpg', strict=True), None) + eq(self.db.guess_extension('image/webp', strict=True), None) # And then non-strict eq(self.db.guess_type('foo.xul', strict=False), ('text/xul', None)) eq(self.db.guess_type('foo.XUL', strict=False), ('text/xul', None)) eq(self.db.guess_type('foo.invalid', strict=False), (None, None)) eq(self.db.guess_extension('image/jpg', strict=False), '.jpg') eq(self.db.guess_extension('image/JPG', strict=False), '.jpg') + eq(self.db.guess_extension('image/webp', strict=False), '.webp') def test_filename_with_url_delimiters(self): # bpo-38449: URL delimiters cases should be handled also. @@ -180,6 +182,7 @@ class MimeTypesTestCase(unittest.TestCase): self.assertEqual(mimetypes.guess_extension('application/x-troff'), '.roff') self.assertEqual(mimetypes.guess_extension('application/xml'), '.xsl') self.assertEqual(mimetypes.guess_extension('audio/mpeg'), '.mp3') + self.assertEqual(mimetypes.guess_extension('image/avif'), '.avif') self.assertEqual(mimetypes.guess_extension('image/jpeg'), '.jpg') self.assertEqual(mimetypes.guess_extension('image/tiff'), '.tiff') self.assertEqual(mimetypes.guess_extension('message/rfc822'), '.eml') diff --git a/Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst b/Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst new file mode 100644 index 0000000..332008b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst @@ -0,0 +1 @@ +``image/avif`` and ``image/webp`` were added to :mod:`mimetypes`. -- cgit v0.12