Fails with PIL on uncomplete exif jpeg #98

hynekcer opened this Issue Apr 11, 2012 · 7 comments


None yet

6 participants


Sorl-thumbnail 11 fails in this image file
with PIL 1.1.6-3.
because it has empty exif.

/home/me/lib/python2.5/sorl/thumbnail/engines/ 29 in _orientation
exif = image._getexif()
/usr/lib/python2.5/site-packages/PIL/ 354 in _getexif[0x8769])
Exception Type: TemplateSyntaxError
Exception Value: Caught KeyError while rendering: 34665


diff -u a/sorl/thumbnail/engines/ b/sorl/thumbnail/engines/
--- a/sorl/thumbnail/engines/
+++ b/sorl/thumbnail/engines/
@@ -27,7 +27,7 @@
def _orientation(self, image):
exif = image._getexif()

  •    except AttributeError:
  •    except AttributeError, KeyError:
         exif = None
     if exif:
         orientation = exif.get(0x0112)

I am sorry. It should be

except (AttributeError, KeyError):

ghost commented Apr 18, 2012

I'm also getting an IndexError on a png Image with latest PIL v1.1.7. So I guess the except clause should be modified:

except (AttributeError, KeyError, IndexError):


It looks reasonable. Can you send a link to such png image?

ghost commented Apr 18, 2012

This is the image link (It is in fact a jpg image, not a png)

Can you reproduce this? Simply catching the exception worked for me.

ksysctl commented Apr 27, 2012

I can confirm this issue on sorl-thumbnail version: 11.12 and when I it catches:

except (AttributeError, KeyError, IndexError):

it resolved that issue.


I'm getting this error too -

except (AttributeError, KeyError, IndexError):

fixed it for me. Definitely needs to be merged into master!

linus commented Aug 15, 2012

Unfortunately, it seems _getexif() can also give you an IOError.

This image gives me an IOError when calling get_thumbnail (or'file')._getexif()):

See also

@onjin onjin added a commit to onjin/sorl-thumbnail that referenced this issue Jan 27, 2013
@onjin onjin Fixing #98 and #99 - problems with exif on some images b43e2f6
@herrobenny herrobenny added a commit to herrobenny/sorl-thumbnail that referenced this issue May 3, 2013
@herrobenny herrobenny fixed #98 and #99 - problems with exif on some images f1f752f
@philipn philipn added a commit to philipn/sorl-thumbnail that referenced this issue Jun 28, 2013
@philipn philipn Fix for #98. bdc325a
tclancy commented Aug 20, 2013

Applying the fix to _getexif() results in an error in get_image()

File "python2.7/site-packages/PIL/", line 1980, in open
raise IOError("cannot identify image file")
IOError: cannot identify image file
@rmaceissoft rmaceissoft added a commit to rmaceissoft/sorl-thumbnail that referenced this issue Oct 25, 2013
@rmaceissoft rmaceissoft fixed #98 and #99 - problems with exif on some images ebb179a
@mariocesar mariocesar was assigned Nov 12, 2013

A fix has been merged into the master branch, please reopen this issue if it persists

@mariocesar mariocesar closed this Dec 19, 2013
@scottmx81 scottmx81 referenced this issue in suicidegirlsdev/sorl-thumbnail Aug 18, 2014

Ignore EXIF exceptions #1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment