SF #75103: imghdr -- identify JPEGs in EXIF format
diff --git a/Doc/lib/libimghdr.tex b/Doc/lib/libimghdr.tex
index 2f1ac7d..4a4f368 100644
--- a/Doc/lib/libimghdr.tex
+++ b/Doc/lib/libimghdr.tex
@@ -31,11 +31,13 @@
\lineii{'tiff'}{TIFF Files}
\lineii{'rast'}{Sun Raster Files}
\lineii{'xbm'}{X Bitmap Files}
- \lineii{'jpeg'}{JPEG data in JFIF format}
+ \lineii{'jpeg'}{JPEG data in JFIF or Exif formats}
\lineii{'bmp'}{BMP files}
\lineii{'png'}{Portable Network Graphics}
\end{tableii}
+\versionadded[Exif detection]{2.5}
+
You can extend the list of file types \module{imghdr} can recognize by
appending to this variable:
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index dc5fb22..2fbc966 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -101,6 +101,13 @@
tests.append(test_jpeg)
+def test_exif(h, f):
+ """JPEG data in Exif format"""
+ if h[6:10] == 'Exif':
+ return 'jpeg'
+
+tests.append(test_exif)
+
def test_bmp(h, f):
if h[:2] == 'BM':
return 'bmp'
diff --git a/Misc/NEWS b/Misc/NEWS
index eb40d97..d7b35d5 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,8 @@
Library
-------
+- The imghdr module now detects Exif files.
+
- StringIO.truncate() now correctly adjusts the size attribute.
(Bug #951915).