Pillow/PIL
Mikhail Korobov ee794e1501 An attempt to fix #15 for Python 3.x.
TiffImagePlugin.ImageFileDirectory.__getattr__ is magical because it deletes items from "tagdata" variable and this plays badly with TiffImagePlugin.ImageFileDirectory.__iter__. Under Python 2.x items() returned a list and this wasn't a problem (because __iter__ value was evalued once); under Python 3.x items() returns a view/iterator that chains self.tags and self.tagdata and iteration begins to fail with "RuntimeError: dictionary changed size during iteration" exception because tagdata item is modified.

In this changeset I've tried to fix this by evaluating items() when the loop starts (by casting it to list), so that it doesn't matter if tagdata is changed during iteration or not.

There is no tests because _getexif is currently private. But this method is used by easy-thumbnails and sorl.thumbnails, so I think it is worth fixing it.
2013-02-26 16:44:47 +06:00
..
__init__.py Forking PIL 2010-07-30 22:52:47 -04:00
_binary.py py3k: The big push 2013-01-10 08:46:56 -06:00
ArgImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
BdfFontFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
BmpImagePlugin.py py3k: FIX: Bad upside-down check in BmpImagePlugin 2013-01-10 08:46:58 -06:00
BufrStubImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
ContainerIO.py py3k: 2to3's "idiom" filter 2013-01-10 08:46:53 -06:00
CurImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
DcxImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
EpsImagePlugin.py py3k: Actually fix the EPS encoder 2013-01-10 08:47:00 -06:00
ExifTags.py Forking PIL 2010-07-30 22:52:47 -04:00
FitsStubImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
FliImagePlugin.py py3k: Add .FLI sanity check, and fix palette bytes bug 2013-01-10 08:47:01 -06:00
FontFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
FpxImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
GbrImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
GdImageFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
GifImagePlugin.py Revert "Fix saving images with added transparency" 2013-02-06 09:25:03 -05:00
GimpGradientFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
GimpPaletteFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
GribStubImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
Hdf5StubImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
IcnsImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
IcoImagePlugin.py py3k: Add Windows icon sanity test 2013-01-10 08:47:04 -06:00
Image.py better warning messages for fromstring/tostring 2013-02-26 16:19:35 +06:00
ImageChops.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageCms.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageColor.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageDraw.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageDraw2.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageEnhance.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageFile.py fix UnboundLocalError errors 2013-02-26 16:31:44 +06:00
ImageFileIO.py py3k: Convert StringIO.StringIO to io.BytesIO 2013-01-10 08:46:51 -06:00
ImageFilter.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageFont.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageGL.py Forking PIL 2010-07-30 22:52:47 -04:00
ImageGrab.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageMath.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageMode.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageOps.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImagePalette.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImagePath.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageQt.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageSequence.py Forking PIL 2010-07-30 22:52:47 -04:00
ImageShow.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageStat.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImageTk.py py3k: Change apply() to unpacking syntax 2013-01-10 08:46:52 -06:00
ImageTransform.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
ImageWin.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
ImtImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
IptcImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
JpegImagePlugin.py An attempt to fix #15 for Python 3.x. 2013-02-26 16:44:47 +06:00
McIdasImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
MicImagePlugin.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
MpegImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
MspImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
OleFileIO.py py3k: The big push 2013-01-10 08:46:56 -06:00
PaletteFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
PalmImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PcdImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PcfFontFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
PcxImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PdfImagePlugin.py py3k: Rewrite PdfImagePlugin into something more legible 2013-01-10 08:47:02 -06:00
PixarImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PngImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PpmImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PsdImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
PSDraw.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
SgiImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
SpiderImagePlugin.py py3k: Use relative imports 2013-01-10 08:46:48 -06:00
SunImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
TarIO.py py3k: Add TarIO test 2013-01-10 08:47:03 -06:00
TgaImagePlugin.py py3k: FIX: TGA missing o8 declaration 2013-01-10 08:46:59 -06:00
TiffImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
TiffTags.py Forking PIL 2010-07-30 22:52:47 -04:00
WalImageFile.py py3k: The big push 2013-01-10 08:46:56 -06:00
WmfImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
XbmImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00
XpmImagePlugin.py py3k: Add XPM read test 2013-01-10 08:47:03 -06:00
XVThumbImagePlugin.py py3k: The big push 2013-01-10 08:46:56 -06:00