From 80c4f64c10175297aa3b85274e3d47870468a857 Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Wed, 27 Oct 2021 21:24:34 -0500 Subject: [PATCH 1/7] Add modern image formats to mimetypes --- Lib/mimetypes.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index e14d0719bed489..760febb35c9861 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -516,6 +516,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', @@ -529,6 +530,7 @@ def _default_mime_types(): '.tiff' : 'image/tiff', '.tif' : 'image/tiff', '.ico' : 'image/vnd.microsoft.icon', + '.webp' : 'image/webp', '.ras' : 'image/x-cmu-raster', '.pnm' : 'image/x-portable-anymap', '.pbm' : 'image/x-portable-bitmap', From 2140c63daacef8ee8dc50d3a7461daf4d4c2a8f0 Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Tue, 1 Feb 2022 13:23:46 -0600 Subject: [PATCH 2/7] Modern image format mimetypes test --- Lib/test/test_mimetypes.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index 4098a22644092f..19b86d3dc1217c 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -170,8 +170,10 @@ def check_extensions(): 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('image/webp'), '.webp') self.assertEqual(mimetypes.guess_extension('message/rfc822'), '.eml') self.assertEqual(mimetypes.guess_extension('text/html'), '.html') self.assertEqual(mimetypes.guess_extension('text/plain'), '.txt') From b17828619f6f8b5140dfba8b93190c39ddcd7b1c Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Wed, 2 Feb 2022 04:51:40 +0000 Subject: [PATCH 3/7] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst 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 00000000000000..d061320aa5f8fa --- /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`. \ No newline at end of file From 944dfe280f1d8c29dd508fa4a717ddd4a436f5fd Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Tue, 3 May 2022 12:52:49 -0500 Subject: [PATCH 4/7] Moving webp to common_types --- Lib/mimetypes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 9ae2307e51a1b1..f6c43b3b92bc50 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -531,7 +531,6 @@ def _default_mime_types(): '.tiff' : 'image/tiff', '.tif' : 'image/tiff', '.ico' : 'image/vnd.microsoft.icon', - '.webp' : 'image/webp', '.ras' : 'image/x-cmu-raster', '.pnm' : 'image/x-portable-anymap', '.pbm' : 'image/x-portable-bitmap', @@ -591,6 +590,7 @@ def _default_mime_types(): '.pict': 'image/pict', '.pct' : 'image/pict', '.pic' : 'image/pict', + '.webp': 'image/webp', '.xul' : 'text/xul', } From 8b13a427befe72176d2d3848f7f206178550e9d9 Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Tue, 3 May 2022 12:54:02 -0500 Subject: [PATCH 5/7] Updated news with a newline --- .../next/Library/2022-02-02-04-51-39.bpo-45639.N8XrGO.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index d061320aa5f8fa..332008bf9c4723 100644 --- 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 @@ -1 +1 @@ -``image/avif`` and ``image/webp`` were added to :mod:`mimetypes`. \ No newline at end of file +``image/avif`` and ``image/webp`` were added to :mod:`mimetypes`. From 1258a5252d1bb68097a96a01d002a64fa319582a Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Tue, 3 May 2022 14:15:01 -0500 Subject: [PATCH 6/7] Fixed tests --- Lib/test/test_mimetypes.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index 99db3ce4a645f3..b83b8ebda255be 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -95,13 +95,16 @@ def test_non_standard_types(self): eq = self.assertEqual # First try strict eq(self.db.guess_type('foo.xul', strict=True), (None, None)) + 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. @@ -183,7 +186,6 @@ def check_extensions(): 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('image/webp'), '.webp') self.assertEqual(mimetypes.guess_extension('message/rfc822'), '.eml') self.assertEqual(mimetypes.guess_extension('text/html'), '.html') self.assertEqual(mimetypes.guess_extension('text/plain'), '.txt') From 899d807644ed5e4dee81e3ff935bb54e16cb97ca Mon Sep 17 00:00:00 2001 From: Adam Konrad Date: Tue, 3 May 2022 14:20:38 -0500 Subject: [PATCH 7/7] Removed duped line --- Lib/test/test_mimetypes.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py index b83b8ebda255be..d64aee71fc48b1 100644 --- a/Lib/test/test_mimetypes.py +++ b/Lib/test/test_mimetypes.py @@ -95,7 +95,6 @@ def test_non_standard_types(self): eq = self.assertEqual # First try strict eq(self.db.guess_type('foo.xul', strict=True), (None, None)) - 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