From: R David Murray Date: Thu, 26 Jun 2014 16:27:57 +0000 (-0400) Subject: #20295: Teach imghdr to recognize OpenEXR format images. X-Git-Tag: v3.5.0a1~1399 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f60820f4c1bdfce75f30ddc53d97587a3256dcf;p=python #20295: Teach imghdr to recognize OpenEXR format images. Patch by Martin Vignali, test by Claudiu Popa. --- diff --git a/Doc/library/imghdr.rst b/Doc/library/imghdr.rst index 06faa883d3..c60df24c5a 100644 --- a/Doc/library/imghdr.rst +++ b/Doc/library/imghdr.rst @@ -50,6 +50,11 @@ from :func:`what`: +------------+-----------------------------------+ | ``'webp'`` | WebP files | +------------+-----------------------------------+ +| ``'exr'`` | OpenEXR Files | ++------------+-----------------------------------+ + +.. versionadded:: 3.5 + The *exr* format was added. .. versionchanged:: 3.5 The *webp* type was added. diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst index 1b4253ce72..9fff48cf55 100644 --- a/Doc/whatsnew/3.5.rst +++ b/Doc/whatsnew/3.5.rst @@ -141,6 +141,12 @@ doctest *module* contains no docstrings instead of raising :exc:`ValueError` (contributed by Glenn Jones in :issue:`15916`). +imghdr +------ + +* :func:`~imghdr.what` now recognizes the `OpenEXR `_ + format (contributed by Martin vignali and Cladui Popa in :issue:`20295`). + importlib --------- diff --git a/Lib/imghdr.py b/Lib/imghdr.py index fe77e495fb..b26792539d 100644 --- a/Lib/imghdr.py +++ b/Lib/imghdr.py @@ -116,6 +116,12 @@ def test_webp(h, f): tests.append(test_webp) +def test_exr(h, f): + if h.startswith(b'\x76\x2f\x31\x01'): + return 'exr' + +tests.append(test_exr) + #--------------------# # Small test program # #--------------------# diff --git a/Lib/test/imghdrdata/python.exr b/Lib/test/imghdrdata/python.exr new file mode 100644 index 0000000000..773c81ee1f Binary files /dev/null and b/Lib/test/imghdrdata/python.exr differ diff --git a/Lib/test/test_imghdr.py b/Lib/test/test_imghdr.py index e2a1acab32..b54daf8e2c 100644 --- a/Lib/test/test_imghdr.py +++ b/Lib/test/test_imghdr.py @@ -18,6 +18,7 @@ TEST_FILES = ( ('python.tiff', 'tiff'), ('python.xbm', 'xbm'), ('python.webp', 'webp'), + ('python.exr', 'exr'), ) class UnseekableIO(io.FileIO): diff --git a/Misc/NEWS b/Misc/NEWS index 9ae200a61e..1cd7d58ff0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -103,6 +103,8 @@ Core and Builtins Library ------- +- Issue #20295: imghdr now recognizes OpenEXR format images. + - Issue #21729: Used the "with" statement in the dbm.dumb module to ensure files closing. Patch by Claudiu Popa.