#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 06faa88..c60df24 100644
--- a/Doc/library/imghdr.rst
+++ b/Doc/library/imghdr.rst
@@ -50,6 +50,11 @@
 +------------+-----------------------------------+
 | ``'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 1b4253c..9fff48c 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -141,6 +141,12 @@
   *module* contains no docstrings instead of raising :exc:`ValueError`
   (contributed by Glenn Jones in :issue:`15916`).
 
+imghdr
+------
+
+* :func:`~imghdr.what` now recognizes the `OpenEXR <http://www.openexr.com>`_
+  format (contributed by Martin vignali and Cladui Popa in :issue:`20295`).
+
 importlib
 ---------
 
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index fe77e49..b267925 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -116,6 +116,12 @@
 
 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 0000000..773c81e
--- /dev/null
+++ b/Lib/test/imghdrdata/python.exr
Binary files differ
diff --git a/Lib/test/test_imghdr.py b/Lib/test/test_imghdr.py
index e2a1aca..b54daf8 100644
--- a/Lib/test/test_imghdr.py
+++ b/Lib/test/test_imghdr.py
@@ -18,6 +18,7 @@
     ('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 9ae200a..1cd7d58 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,8 @@
 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.