From 70cf8c9431ee3c7b31e27d6684dd6dd8028dfe74 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 21 Aug 2014 13:46:58 +0300 Subject: [PATCH 001/107] Update WebP from 0.4.0 to 0.4.1 --- depends/install_webp.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/depends/install_webp.sh b/depends/install_webp.sh index 5f5963712..14758f6b8 100755 --- a/depends/install_webp.sh +++ b/depends/install_webp.sh @@ -1,18 +1,15 @@ #!/bin/bash # install webp - -if [ ! -f libwebp-0.4.0.tar.gz ]; then - wget 'https://webp.googlecode.com/files/libwebp-0.4.0.tar.gz' +if [ ! -f libwebp-0.4.1.tar.gz ]; then + wget 'http://downloads.webmproject.org/releases/webp/libwebp-0.4.1.tar.gz' fi -rm -r libwebp-0.4.0 -tar -xvzf libwebp-0.4.0.tar.gz +rm -r libwebp-0.4.1 +tar -xvzf libwebp-0.4.1.tar.gz - -pushd libwebp-0.4.0 +pushd libwebp-0.4.1 ./configure --prefix=/usr --enable-libwebpmux --enable-libwebpdemux && make && sudo make install popd - From 30680bb384368425e03ed4e7bd8a7fba9f63e819 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 21 Aug 2014 14:02:48 +0300 Subject: [PATCH 002/107] Make WebP with 4 job slots - ~2.4 times faster --- depends/install_webp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/install_webp.sh b/depends/install_webp.sh index 14758f6b8..7810159cc 100755 --- a/depends/install_webp.sh +++ b/depends/install_webp.sh @@ -10,6 +10,6 @@ tar -xvzf libwebp-0.4.1.tar.gz pushd libwebp-0.4.1 -./configure --prefix=/usr --enable-libwebpmux --enable-libwebpdemux && make && sudo make install +./configure --prefix=/usr --enable-libwebpmux --enable-libwebpdemux && make -j4 && sudo make -j4 install popd From 4b8b91965a72ed1eb37847092a2a26330822d0b8 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 21 Aug 2014 14:11:35 +0300 Subject: [PATCH 003/107] Make OpenJPEG with 4 job slots - ~2.2 times faster --- depends/install_openjpeg.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/install_openjpeg.sh b/depends/install_openjpeg.sh index b3a6ccc4d..ddff45c1e 100755 --- a/depends/install_openjpeg.sh +++ b/depends/install_openjpeg.sh @@ -11,9 +11,9 @@ rm -r openjpeg-2.1.0 tar -xvzf openjpeg-2.1.0.tar.gz -pushd openjpeg-2.1.0 +pushd openjpeg-2.1.0 -cmake -DCMAKE_INSTALL_PREFIX=/usr . && make && sudo make install +cmake -DCMAKE_INSTALL_PREFIX=/usr . && make -j 4 && sudo make -j 4 install popd From d0ec73602b08edad601544fd44b5cf87230ada83 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 21 Aug 2014 14:50:11 +0300 Subject: [PATCH 004/107] Make OpenJPEG with 4 job slots - ~2.2 times faster (take 2) --- depends/install_openjpeg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/install_openjpeg.sh b/depends/install_openjpeg.sh index ddff45c1e..83620f4b8 100755 --- a/depends/install_openjpeg.sh +++ b/depends/install_openjpeg.sh @@ -13,7 +13,7 @@ tar -xvzf openjpeg-2.1.0.tar.gz pushd openjpeg-2.1.0 -cmake -DCMAKE_INSTALL_PREFIX=/usr . && make -j 4 && sudo make -j 4 install +cmake -DCMAKE_INSTALL_PREFIX=/usr . && make -j4 && sudo make -j4 install popd From 9d00686f53296e7aafa9bd66789e7dce7367cc96 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 22 Aug 2014 16:14:48 -0700 Subject: [PATCH 005/107] backup implementation of Round for windows platforms --- libImaging/Convert.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libImaging/Convert.c b/libImaging/Convert.c index 46a6cfb72..3d9119c7f 100644 --- a/libImaging/Convert.c +++ b/libImaging/Convert.c @@ -49,6 +49,12 @@ #define L(rgb)\ ((INT32) (rgb)[0]*299 + (INT32) (rgb)[1]*587 + (INT32) (rgb)[2]*114) +#ifndef round +double round(double x) { + return floor(x+0.5); +} +#endif + /* ------------------- */ /* 1 (bit) conversions */ /* ------------------- */ From 1d58e711fede7059a9299a21f6121b9d41d44380 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 22 Aug 2014 16:15:22 -0700 Subject: [PATCH 006/107] mp is a little twitchy on windows --- mp_compile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mp_compile.py b/mp_compile.py index b7c3e7ce4..adbac7c19 100644 --- a/mp_compile.py +++ b/mp_compile.py @@ -3,7 +3,7 @@ from multiprocessing import Pool, cpu_count from distutils.ccompiler import CCompiler -import os +import os, sys try: MAX_PROCS = int(os.environ.get('MAX_CONCURRENCY', cpu_count())) @@ -50,7 +50,7 @@ def _mp_compile(self, sources, output_dir=None, macros=None, return objects # explicitly don't enable if environment says 1 processor -if MAX_PROCS != 1: +if MAX_PROCS != 1 and not sys.platform.startswith('win'): try: # bug, only enable if we can make a Pool. see issue #790 and # http://stackoverflow.com/questions/6033599/oserror-38-errno-38-with-multiprocessing From 136345a5a57afb76d15090e4ec9296659e59e003 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 22 Aug 2014 17:04:26 -0700 Subject: [PATCH 007/107] allowing for libwebp* library names --- setup.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 5cf0e5e65..8c46d7a0e 100644 --- a/setup.py +++ b/setup.py @@ -487,6 +487,8 @@ class pil_build_ext(build_ext): # In Google's precompiled zip it is call "libwebp": if _find_library_file(self, "webp"): feature.webp = "webp" + elif _find_library_file(self, "libwebp"): + feature.webp = "libwebp" if feature.want('webpmux'): if (_find_include_file(self, "webp/mux.h") and @@ -494,6 +496,9 @@ class pil_build_ext(build_ext): if (_find_library_file(self, "webpmux") and _find_library_file(self, "webpdemux")): feature.webpmux = "webpmux" + if (_find_library_file(self, "libwebpmux") and + _find_library_file(self, "libwebpdemux")): + feature.webpmux = "libwebpmux" for f in feature: if not getattr(feature, f) and feature.require(f): @@ -559,13 +564,13 @@ class pil_build_ext(build_ext): libraries=["lcms2"] + extra)) if os.path.isfile("_webp.c") and feature.webp: - libs = ["webp"] + libs = [feature.webp] defs = [] if feature.webpmux: defs.append(("HAVE_WEBPMUX", None)) - libs.append("webpmux") - libs.append("webpdemux") + libs.append(feature.webpmux) + libs.append(feature.webpmux.replace('pmux','pdemux')) exts.append(Extension( "PIL._webp", ["_webp.c"], libraries=libs, define_macros=defs)) From 566448fbf0b2bb296c00664b65919039945c5c34 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 26 Aug 2014 09:17:54 +0300 Subject: [PATCH 008/107] Update CHANGES.rst [CI skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 97bbd5d86..c068013a6 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Windows fixes #871 + [wiredfool] + - Fix TGA files with image ID field #856 [megabuz] From 674fd9744df001de0bd3a978a211ed424dd78f57 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 11:45:28 +0300 Subject: [PATCH 009/107] Tests for GimpGradientFile and a sample .ggr by me --- Tests/images/gimp_gradient.ggr | 6 ++ Tests/test_file_gimpgradient.py | 103 ++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 Tests/images/gimp_gradient.ggr create mode 100644 Tests/test_file_gimpgradient.py diff --git a/Tests/images/gimp_gradient.ggr b/Tests/images/gimp_gradient.ggr new file mode 100644 index 000000000..4644e5537 --- /dev/null +++ b/Tests/images/gimp_gradient.ggr @@ -0,0 +1,6 @@ +GIMP Gradient +4 +0.000000 0.351923 0.534893 1.000000 1.000000 1.000000 0.910000 0.730303 0.510606 1.000000 0.480000 1 0 +0.501504 0.611002 0.637730 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 1 0 +0.931891 0.951264 1.000000 0.531255 0.316078 1.031173 1.000000 0.000000 0.000000 0.000000 1.000000 0 0 +0.810551 0.881217 0.921883 0.717576 0.441331 0.081217 1.000000 0.751576 0.410331 0.081217 1.000000 0 0 \ No newline at end of file diff --git a/Tests/test_file_gimpgradient.py b/Tests/test_file_gimpgradient.py new file mode 100644 index 000000000..e024c0903 --- /dev/null +++ b/Tests/test_file_gimpgradient.py @@ -0,0 +1,103 @@ +from helper import unittest, PillowTestCase + +from PIL import GimpGradientFile + +TEST_FILE = "Tests/images/gimp_gradient.ggr" + + +class TestImage(PillowTestCase): + + def test_linear_pos_le_middle(self): + # Arrange + middle = 0.5 + pos = 0.25 + + # Act + ret = GimpGradientFile.linear(middle, pos) + + # Assert + self.assertEqual(ret, 0.25) + + def test_linear_pos_le_small_middle(self): + # Arrange + middle = 1e-11 + pos = 1e-12 + + # Act + ret = GimpGradientFile.linear(middle, pos) + + # Assert + self.assertEqual(ret, 0.0) + + def test_linear_pos_gt_middle(self): + # Arrange + middle = 0.5 + pos = 0.75 + + # Act + ret = GimpGradientFile.linear(middle, pos) + + # Assert + self.assertEqual(ret, 0.75) + + def test_linear_pos_gt_small_middle(self): + # Arrange + middle = 1 - 1e-11 + pos = 1 - 1e-12 + + # Act + ret = GimpGradientFile.linear(middle, pos) + + # Assert + self.assertEqual(ret, 1.0) + + def test_curved(self): + # Arrange + middle = 0.5 + pos = 0.75 + + # Act + ret = GimpGradientFile.curved(middle, pos) + + # Assert + self.assertEqual(ret, 0.75) + + def test_sphere_increasing(self): + # Arrange + middle = 0.5 + pos = 0.75 + + # Act + ret = GimpGradientFile.sphere_increasing(middle, pos) + + # Assert + self.assertEqual(ret, 0.9682458365518543) + + def test_sphere_decreasing(self): + # Arrange + middle = 0.5 + pos = 0.75 + + # Act + ret = GimpGradientFile.sphere_decreasing(middle, pos) + + # Assert + self.assertEqual(ret, 0.3385621722338523) + + def test_load_via_imagepalette(self): + # Arrange + from PIL import ImagePalette + + # Act + palette = ImagePalette.load(TEST_FILE) + + # Assert + # load returns raw palette information + self.assertEqual(len(palette[0]), 1024) + self.assertEqual(palette[1], "RGBA") + + +if __name__ == '__main__': + unittest.main() + +# End of file From dbf0ee3631c51aa376693311475d1425b1fbb9fa Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 12:04:04 +0300 Subject: [PATCH 010/107] Add (failing) test for GIMP 1.3 gradient files and .ggr by me --- Tests/images/gimp_gradient_with_name.ggr | 7 +++++++ Tests/test_file_gimpgradient.py | 20 +++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 Tests/images/gimp_gradient_with_name.ggr diff --git a/Tests/images/gimp_gradient_with_name.ggr b/Tests/images/gimp_gradient_with_name.ggr new file mode 100644 index 000000000..ab1c1d734 --- /dev/null +++ b/Tests/images/gimp_gradient_with_name.ggr @@ -0,0 +1,7 @@ +GIMP Gradient +Name: A GIMP 1.3 gradient file +4 +0.000000 0.351923 0.534893 1.000000 1.000000 1.000000 0.910000 0.730303 0.510606 1.000000 0.480000 1 0 +0.501504 0.611002 0.637730 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 1 0 +0.931891 0.951264 1.000000 0.531255 0.316078 1.031173 1.000000 0.000000 0.000000 0.000000 1.000000 0 0 +0.810551 0.881217 0.921883 0.717576 0.441331 0.081217 1.000000 0.751576 0.410331 0.081217 1.000000 0 0 \ No newline at end of file diff --git a/Tests/test_file_gimpgradient.py b/Tests/test_file_gimpgradient.py index e024c0903..ef941c0eb 100644 --- a/Tests/test_file_gimpgradient.py +++ b/Tests/test_file_gimpgradient.py @@ -2,8 +2,6 @@ from helper import unittest, PillowTestCase from PIL import GimpGradientFile -TEST_FILE = "Tests/images/gimp_gradient.ggr" - class TestImage(PillowTestCase): @@ -87,9 +85,25 @@ class TestImage(PillowTestCase): def test_load_via_imagepalette(self): # Arrange from PIL import ImagePalette + test_file = "Tests/images/gimp_gradient.ggr" # Act - palette = ImagePalette.load(TEST_FILE) + palette = ImagePalette.load(test_file) + + # Assert + # load returns raw palette information + self.assertEqual(len(palette[0]), 1024) + self.assertEqual(palette[1], "RGBA") + + + def test_load_1_3_via_imagepalette(self): + # Arrange + from PIL import ImagePalette + # GIMP 1.3 gradient files contain a name field + test_file = "Tests/images/gimp_gradient_with_name.ggr" + + # Act + palette = ImagePalette.load(test_file) # Assert # load returns raw palette information From 6b5871a484057e82ff00907d4b84cfde2837a0ad Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 12:14:58 +0300 Subject: [PATCH 011/107] Fix for GIMP 1.3 gradient files --- PIL/GimpGradientFile.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/PIL/GimpGradientFile.py b/PIL/GimpGradientFile.py index 7c88addae..e37de361a 100644 --- a/PIL/GimpGradientFile.py +++ b/PIL/GimpGradientFile.py @@ -99,7 +99,13 @@ class GimpGradientFile(GradientFile): if fp.readline()[:13] != b"GIMP Gradient": raise SyntaxError("not a GIMP gradient file") - count = int(fp.readline()) + line = fp.readline() + + # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do + if line.startswith("Name: "): + line = fp.readline().strip() + + count = int(line) gradient = [] From 08499d35470013094cedc194fe079ab9589baef8 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 12:16:32 +0300 Subject: [PATCH 012/107] flake8 --- PIL/GimpGradientFile.py | 21 ++++++++++++++------- Tests/test_file_gimpgradient.py | 1 - 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/PIL/GimpGradientFile.py b/PIL/GimpGradientFile.py index e37de361a..6e99aba1e 100644 --- a/PIL/GimpGradientFile.py +++ b/PIL/GimpGradientFile.py @@ -24,6 +24,7 @@ from PIL._binary import o8 EPSILON = 1e-10 + def linear(middle, pos): if pos <= middle: if middle < EPSILON: @@ -38,25 +39,30 @@ def linear(middle, pos): else: return 0.5 + 0.5 * pos / middle + def curved(middle, pos): return pos ** (log(0.5) / log(max(middle, EPSILON))) + def sine(middle, pos): return (sin((-pi / 2.0) + pi * linear(middle, pos)) + 1.0) / 2.0 + def sphere_increasing(middle, pos): return sqrt(1.0 - (linear(middle, pos) - 1.0) ** 2) + def sphere_decreasing(middle, pos): return 1.0 - sqrt(1.0 - linear(middle, pos) ** 2) -SEGMENTS = [ linear, curved, sine, sphere_increasing, sphere_decreasing ] +SEGMENTS = [linear, curved, sine, sphere_increasing, sphere_decreasing] + class GradientFile: gradient = None - def getpalette(self, entries = 256): + def getpalette(self, entries=256): palette = [] @@ -89,6 +95,7 @@ class GradientFile: return b"".join(palette), "RGBA" + ## # File handler for GIMP's gradient format. @@ -114,13 +121,13 @@ class GimpGradientFile(GradientFile): s = fp.readline().split() w = [float(x) for x in s[:11]] - x0, x1 = w[0], w[2] - xm = w[1] - rgb0 = w[3:7] - rgb1 = w[7:11] + x0, x1 = w[0], w[2] + xm = w[1] + rgb0 = w[3:7] + rgb1 = w[7:11] segment = SEGMENTS[int(s[11])] - cspace = int(s[12]) + cspace = int(s[12]) if cspace != 0: raise IOError("cannot handle HSV colour space") diff --git a/Tests/test_file_gimpgradient.py b/Tests/test_file_gimpgradient.py index ef941c0eb..e1be5cd4f 100644 --- a/Tests/test_file_gimpgradient.py +++ b/Tests/test_file_gimpgradient.py @@ -95,7 +95,6 @@ class TestImage(PillowTestCase): self.assertEqual(len(palette[0]), 1024) self.assertEqual(palette[1], "RGBA") - def test_load_1_3_via_imagepalette(self): # Arrange from PIL import ImagePalette From 0a3b25ef9ec73dec0c83a6d6e3887b7406fcb2cc Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 12:21:08 +0300 Subject: [PATCH 013/107] Test GimpGradientFile.sine() --- Tests/test_file_gimpgradient.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Tests/test_file_gimpgradient.py b/Tests/test_file_gimpgradient.py index e1be5cd4f..c64deb79d 100644 --- a/Tests/test_file_gimpgradient.py +++ b/Tests/test_file_gimpgradient.py @@ -60,6 +60,17 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(ret, 0.75) + def test_sine(self): + # Arrange + middle = 0.5 + pos = 0.75 + + # Act + ret = GimpGradientFile.sine(middle, pos) + + # Assert + self.assertEqual(ret, 0.8535533905932737) + def test_sphere_increasing(self): # Arrange middle = 0.5 From 998955b024fbd98255bf806f17e24dde639dc1a9 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 12:23:12 +0300 Subject: [PATCH 014/107] Fix for Python 3 --- PIL/GimpGradientFile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PIL/GimpGradientFile.py b/PIL/GimpGradientFile.py index 6e99aba1e..696f425f1 100644 --- a/PIL/GimpGradientFile.py +++ b/PIL/GimpGradientFile.py @@ -109,7 +109,7 @@ class GimpGradientFile(GradientFile): line = fp.readline() # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do - if line.startswith("Name: "): + if line.startswith(b"Name: "): line = fp.readline().strip() count = int(line) From 952d1d5bf515f57a62b11eb0e3d12da71e4fbbf0 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 15:51:37 +0300 Subject: [PATCH 015/107] Remove duplicate tag caused by typo in spec: http://www.asmail.be/msg0055321032.html --- PIL/TiffTags.py | 6 +++--- Tests/test_file_tiff_metadata.py | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/PIL/TiffTags.py b/PIL/TiffTags.py index 966779ce9..2caf9622f 100644 --- a/PIL/TiffTags.py +++ b/PIL/TiffTags.py @@ -240,7 +240,7 @@ TAGS = { 45579: "YawAngle", 45580: "PitchAngle", 45581: "RollAngle", - + # Adobe DNG 50706: "DNGVersion", 50707: "DNGBackwardVersion", @@ -255,7 +255,6 @@ TAGS = { 50716: "BlackLevelDeltaV", 50717: "WhiteLevel", 50718: "DefaultScale", - 50741: "BestQualityScale", # FIXME! Dictionary contains duplicate keys 50741 50719: "DefaultCropOrigin", 50720: "DefaultCropSize", 50778: "CalibrationIlluminant1", @@ -279,7 +278,8 @@ TAGS = { 50737: "ChromaBlurRadius", 50738: "AntiAliasStrength", 50740: "DNGPrivateData", - 50741: "MakerNoteSafety", # FIXME! Dictionary contains duplicate keys 50741 + 50741: "MakerNoteSafety", + 50780: "BestQualityScale", #ImageJ 50838: "ImageJMetaDataByteCounts", # private tag registered with Adobe diff --git a/Tests/test_file_tiff_metadata.py b/Tests/test_file_tiff_metadata.py index e0805b525..4cebb56e2 100644 --- a/Tests/test_file_tiff_metadata.py +++ b/Tests/test_file_tiff_metadata.py @@ -8,7 +8,7 @@ tag_ids = dict(zip(TiffTags.TAGS.values(), TiffTags.TAGS.keys())) class TestFileTiffMetadata(PillowTestCase): def test_rt_metadata(self): - """ Test writing arbitray metadata into the tiff image directory + """ Test writing arbitrary metadata into the tiff image directory Use case is ImageJ private tags, one numeric, one arbitrary data. https://github.com/python-pillow/Pillow/issues/291 """ @@ -86,6 +86,10 @@ class TestFileTiffMetadata(PillowTestCase): self.assertEqual( value, reloaded[tag], "%s didn't roundtrip" % tag) + def test_no_duplicate_50741_tag(self): + self.assertEqual(tag_ids['MakerNoteSafety'], 50741) + self.assertEqual(tag_ids['BestQualityScale'], 50780) + if __name__ == '__main__': unittest.main() From ec2a225fff881be1bb89edd7fff398fdb196b313 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 26 Aug 2014 15:52:37 +0300 Subject: [PATCH 016/107] flake8 --- PIL/TiffTags.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PIL/TiffTags.py b/PIL/TiffTags.py index 2caf9622f..d15aa7ebe 100644 --- a/PIL/TiffTags.py +++ b/PIL/TiffTags.py @@ -46,8 +46,8 @@ TAGS = { (262, 5): "CMYK", (262, 6): "YCbCr", (262, 8): "CieLAB", - (262, 32803): "CFA", # TIFF/EP, Adobe DNG - (262, 32892): "LinearRaw", # Adobe DNG + (262, 32803): "CFA", # TIFF/EP, Adobe DNG + (262, 32892): "LinearRaw", # Adobe DNG 263: "Thresholding", 264: "CellWidth", @@ -281,9 +281,9 @@ TAGS = { 50741: "MakerNoteSafety", 50780: "BestQualityScale", - #ImageJ - 50838: "ImageJMetaDataByteCounts", # private tag registered with Adobe - 50839: "ImageJMetaData", # private tag registered with Adobe + # ImageJ + 50838: "ImageJMetaDataByteCounts", # private tag registered with Adobe + 50839: "ImageJMetaData", # private tag registered with Adobe } ## From 3e361d800d99f056324e502c869f957076237f18 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 26 Aug 2014 09:57:15 -0700 Subject: [PATCH 017/107] Refactor inheritance tree of test_file_libtiff_small --- Tests/test_file_libtiff.py | 5 +++-- Tests/test_file_libtiff_small.py | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 60eea8b3b..b5df39d04 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -4,8 +4,7 @@ import os from PIL import Image, TiffImagePlugin - -class TestFileLibTiff(PillowTestCase): +class LibTiffTestCase(PillowTestCase): def setUp(self): codecs = dir(Image.core) @@ -32,6 +31,8 @@ class TestFileLibTiff(PillowTestCase): out = self.tempfile("temp.png") im.save(out) +class TestFileLibTiff(LibTiffTestCase): + def test_g4_tiff(self): """Test the ordinary file path load path""" diff --git a/Tests/test_file_libtiff_small.py b/Tests/test_file_libtiff_small.py index 043ecaf3f..9c73ee5c2 100644 --- a/Tests/test_file_libtiff_small.py +++ b/Tests/test_file_libtiff_small.py @@ -2,12 +2,10 @@ from helper import unittest from PIL import Image -from test_file_libtiff import TestFileLibTiff +from test_file_libtiff import LibTiffTestCase -class TestFileLibTiffSmall(TestFileLibTiff): - - # Inherits TestFileLibTiff's setUp() and self._assert_noerr() +class TestFileLibTiffSmall(LibTiffTestCase): """ The small lena image was failing on open in the libtiff decoder because the file pointer was set to the wrong place From 8b2e7ee48ac9317b79bb7f0053a9201ada8d7d08 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 26 Aug 2014 14:48:17 -0700 Subject: [PATCH 018/107] Additional dependencies [ci skip] --- Tests/README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tests/README.rst b/Tests/README.rst index 1b11a45b1..6fd770f55 100644 --- a/Tests/README.rst +++ b/Tests/README.rst @@ -10,6 +10,9 @@ Install:: pip install coverage nose +If you're using Python 2.6, there's one additional dependency:: + + pip install unittest2 Execution --------- From d866a29bd8345e9877bd84f66cd995029cc32125 Mon Sep 17 00:00:00 2001 From: hugovk Date: Wed, 27 Aug 2014 10:46:34 +0300 Subject: [PATCH 019/107] Correct duplicate EXIF tags: http://www.exiv2.org/tags.html --- PIL/ExifTags.py | 4 ++-- Tests/test_file_jpeg.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/PIL/ExifTags.py b/PIL/ExifTags.py index 25cd08068..afc02b3c8 100644 --- a/PIL/ExifTags.py +++ b/PIL/ExifTags.py @@ -67,8 +67,8 @@ TAGS = { 0x0213: "YCbCrPositioning", 0x0214: "ReferenceBlackWhite", 0x1000: "RelatedImageFileFormat", - 0x1001: "RelatedImageLength", # FIXME / Dictionary contains duplicate keys - 0x1001: "RelatedImageWidth", # FIXME \ Dictionary contains duplicate keys + 0x1001: "RelatedImageLength", + 0x1002: "RelatedImageWidth", 0x828d: "CFARepeatPatternDim", 0x828e: "CFAPattern", 0x828f: "BatteryLevel", diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 3bf757332..194a953d1 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -295,6 +295,15 @@ class TestFileJpeg(PillowTestCase): # Default save quality is 75%, so a tiny bit of difference is alright self.assert_image_similar(img, Image.open(tempfile), 1) + def test_no_duplicate_0x1001_tag(self): + # Arrange + from PIL import ExifTags + tag_ids = dict(zip(ExifTags.TAGS.values(), ExifTags.TAGS.keys())) + + # Assert + self.assertEqual(tag_ids['RelatedImageLength'], 0x1001) + self.assertEqual(tag_ids['RelatedImageWidth'], 0x1002) + if __name__ == '__main__': unittest.main() From a428321bee180ee5c253bd49eb577f0a40066ee9 Mon Sep 17 00:00:00 2001 From: hugovk Date: Wed, 27 Aug 2014 10:57:40 +0300 Subject: [PATCH 020/107] flake8 --- Tests/test_file_jpeg.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 194a953d1..36c8837d7 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -60,7 +60,8 @@ class TestFileJpeg(PillowTestCase): self.assertGreater(y, 0.8) self.assertEqual(k, 0.0) # the opposite corner is black - c, m, y, k = [x / 255.0 for x in im.getpixel((im.size[0]-1, im.size[1]-1))] + c, m, y, k = [x / 255.0 for x in im.getpixel(( + im.size[0]-1, im.size[1]-1))] self.assertGreater(k, 0.9) # roundtrip, and check again im = self.roundtrip(im) @@ -69,7 +70,8 @@ class TestFileJpeg(PillowTestCase): self.assertGreater(m, 0.8) self.assertGreater(y, 0.8) self.assertEqual(k, 0.0) - c, m, y, k = [x / 255.0 for x in im.getpixel((im.size[0]-1, im.size[1]-1))] + c, m, y, k = [x / 255.0 for x in im.getpixel(( + im.size[0]-1, im.size[1]-1))] self.assertGreater(k, 0.9) def test_dpi(self): @@ -150,7 +152,8 @@ class TestFileJpeg(PillowTestCase): if py3: a = bytes(random.randint(0, 255) for _ in range(256 * 256 * 3)) else: - a = b''.join(chr(random.randint(0, 255)) for _ in range(256 * 256 * 3)) + a = b''.join(chr(random.randint(0, 255)) for _ in range( + 256 * 256 * 3)) im = Image.frombuffer("RGB", (256, 256), a, "raw", "RGB", 0, 1) # this requires more bytes than pixels in the image im.save(f, format="JPEG", progressive=True, quality=100) @@ -235,11 +238,13 @@ class TestFileJpeg(PillowTestCase): qtables = im.quantization reloaded = self.roundtrip(im, qtables=qtables, subsampling=0) self.assertEqual(im.quantization, reloaded.quantization) - self.assert_image_similar(im, self.roundtrip(im, qtables='web_low'), 30) - self.assert_image_similar(im, self.roundtrip(im, qtables='web_high'), 30) + self.assert_image_similar(im, self.roundtrip(im, qtables='web_low'), + 30) + self.assert_image_similar(im, self.roundtrip(im, qtables='web_high'), + 30) self.assert_image_similar(im, self.roundtrip(im, qtables='keep'), 30) - #values from wizard.txt in jpeg9-a src package. + # values from wizard.txt in jpeg9-a src package. standard_l_qtable = [int(s) for s in """ 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 @@ -251,7 +256,7 @@ class TestFileJpeg(PillowTestCase): 72 92 95 98 112 100 103 99 """.split(None)] - standard_chrominance_qtable= [int(s) for s in """ + standard_chrominance_qtable = [int(s) for s in """ 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 @@ -276,8 +281,8 @@ class TestFileJpeg(PillowTestCase): # dict of qtable lists self.assert_image_similar(im, self.roundtrip(im, - qtables={0:standard_l_qtable, - 1:standard_chrominance_qtable}), + qtables={0: standard_l_qtable, + 1: standard_chrominance_qtable}), 30) @unittest.skipUnless(djpeg_available(), "djpeg not available") From c2f09036275861d08382d82feba11532f9dd941d Mon Sep 17 00:00:00 2001 From: hugovk Date: Wed, 27 Aug 2014 11:06:34 +0300 Subject: [PATCH 021/107] Correct the correction: RelatedImageWidth=0x1001, RelatedImageLength=0x1002 --- PIL/ExifTags.py | 4 ++-- Tests/test_file_jpeg.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PIL/ExifTags.py b/PIL/ExifTags.py index afc02b3c8..52e145f62 100644 --- a/PIL/ExifTags.py +++ b/PIL/ExifTags.py @@ -67,8 +67,8 @@ TAGS = { 0x0213: "YCbCrPositioning", 0x0214: "ReferenceBlackWhite", 0x1000: "RelatedImageFileFormat", - 0x1001: "RelatedImageLength", - 0x1002: "RelatedImageWidth", + 0x1001: "RelatedImageWidth", + 0x1002: "RelatedImageLength", 0x828d: "CFARepeatPatternDim", 0x828e: "CFAPattern", 0x828f: "BatteryLevel", diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 36c8837d7..922a48c10 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -306,8 +306,8 @@ class TestFileJpeg(PillowTestCase): tag_ids = dict(zip(ExifTags.TAGS.values(), ExifTags.TAGS.keys())) # Assert - self.assertEqual(tag_ids['RelatedImageLength'], 0x1001) - self.assertEqual(tag_ids['RelatedImageWidth'], 0x1002) + self.assertEqual(tag_ids['RelatedImageWidth'], 0x1001) + self.assertEqual(tag_ids['RelatedImageLength'], 0x1002) if __name__ == '__main__': From 339a63ed696e7ce11242fd8a3f7cea141937c2d5 Mon Sep 17 00:00:00 2001 From: hugovk Date: Fri, 29 Aug 2014 16:03:58 +0300 Subject: [PATCH 022/107] Fail fast: move installation stuff that's not needed in the script: section closer to where it's needed. This saves time by avoiding it when a test fails. --- .travis.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 783974b53..704c0d949 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,10 +16,9 @@ python: - 3.4 install: - - "sudo apt-get -qq install libfreetype6-dev liblcms2-dev python-qt4 ghostscript libffi-dev libjpeg-turbo-progs cmake imagemagick lcov" + - "sudo apt-get -qq install libfreetype6-dev liblcms2-dev python-qt4 ghostscript libffi-dev libjpeg-turbo-progs cmake imagemagick" - "pip install cffi" - - "pip install coveralls nose coveralls-merge" - - "gem install coveralls-lcov" + - "pip install coverage nose" # Pyroma installation is slow on Py3, so just do it for Py2. - if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then travis_retry pip install pyroma; fi @@ -42,13 +41,16 @@ script: after_success: # gather the coverage data + - sudo apt-get -qq install lcov - lcov --capture --directory . -b . --output-file coverage.info # filter to remove system headers - - lcov --remove coverage.info '/usr/*' -o coverage.filtered.info + - lcov --remove coverage.info '/usr/*' -o coverage.filtered.info # convert to json + - gem install coveralls-lcov - coveralls-lcov -v -n coverage.filtered.info > coverage.c.json - coverage report + - pip install coveralls-merge - coveralls-merge coverage.c.json From 860e67e1c455d4d5ef8c0f8ab366e1840437df3c Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 14:11:08 +0300 Subject: [PATCH 023/107] Add access functions for ImagingEffectNoise with a test --- PIL/Image.py | 16 ++++++++++++++++ Tests/test_image.py | 13 +++++++++++++ libImaging/Effects.c | 8 ++++---- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/PIL/Image.py b/PIL/Image.py index 480410eff..605595912 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -2419,3 +2419,19 @@ def _show(image, **options): def _showxv(image, title=None, **options): from PIL import ImageShow ImageShow.show(image, title, **options) + + +# -------------------------------------------------------------------- +# Effects + +def effect_noise(size, sigma): + """ + Generate Gaussian noise centered around 128 + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param sigma: Standard deviation of noise. + """ + return Image()._new(core.effect_noise(size, sigma)) + +# End of file diff --git a/Tests/test_image.py b/Tests/test_image.py index cd46c9713..bbc9a43fc 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -140,6 +140,19 @@ class TestImage(PillowTestCase): img_colors = sorted(img.getcolors()) self.assertEqual(img_colors, expected_colors) + def test_noise(self): + # Arrange + size = (100, 100) + sigma = 128 + + # Act + im = Image.effect_noise(size, sigma) + + # Assert + self.assertEqual(im.size, (100, 100)) + self.assertEqual(im.getpixel((0, 0)), 60) + self.assertEqual(im.getpixel((0, 1)), 28) + if __name__ == '__main__': unittest.main() diff --git a/libImaging/Effects.c b/libImaging/Effects.c index db6e72989..30e44d570 100644 --- a/libImaging/Effects.c +++ b/libImaging/Effects.c @@ -74,7 +74,7 @@ ImagingEffectMandelbrot(int xsize, int ysize, double extent[4], int quality) Imaging ImagingEffectNoise(int xsize, int ysize, float sigma) { - /* Generate gaussian noise centered around 128 */ + /* Generate Gaussian noise centered around 128 */ Imaging imOut; int x, y; @@ -83,19 +83,19 @@ ImagingEffectNoise(int xsize, int ysize, float sigma) imOut = ImagingNew("L", xsize, ysize); if (!imOut) - return NULL; + return NULL; next = 0.0; nextok = 0; for (y = 0; y < imOut->ysize; y++) { UINT8* out = imOut->image8[y]; - for (x = 0; x < imOut->xsize; x++) { + for (x = 0; x < imOut->xsize; x++) { if (nextok) { this = next; nextok = 0; } else { - /* after numerical recepies */ + /* after numerical recipes */ double v1, v2, radius, factor; do { v1 = rand()*(2.0/32767.0) - 1.0; From d3242a5124251e942dc9491999ee0e6b704b81dc Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 14:45:54 +0300 Subject: [PATCH 024/107] test_effect_noise stalls on Travis, skip unless Windows --- Tests/test_image.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index bbc9a43fc..83d5b0d1f 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -1,6 +1,7 @@ from helper import unittest, PillowTestCase, lena from PIL import Image +import sys class TestImage(PillowTestCase): @@ -140,7 +141,9 @@ class TestImage(PillowTestCase): img_colors = sorted(img.getcolors()) self.assertEqual(img_colors, expected_colors) - def test_noise(self): + @unittest.skipUnless(sys.platform.startswith('win32'), + "Stalls on Travis CI, passes on Windows") + def test_effect_noise(self): # Arrange size = (100, 100) sigma = 128 From 76ef83263bad332252edee9dfef169bcec2bd463 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 14:47:34 +0300 Subject: [PATCH 025/107] Remove unreachable and never completed Perlin turbulence code --- libImaging/Effects.c | 223 +------------------------------------------ 1 file changed, 1 insertion(+), 222 deletions(-) diff --git a/libImaging/Effects.c b/libImaging/Effects.c index 30e44d570..90e0fff30 100644 --- a/libImaging/Effects.c +++ b/libImaging/Effects.c @@ -113,14 +113,6 @@ ImagingEffectNoise(int xsize, int ysize, float sigma) return imOut; } -Imaging -ImagingEffectPerlinTurbulence(int xsize, int ysize) -{ - /* Perlin turbulence (In progress) */ - - return NULL; -} - Imaging ImagingEffectSpread(Imaging imIn, int distance) { @@ -157,217 +149,4 @@ ImagingEffectSpread(Imaging imIn, int distance) return imOut; } -/* -------------------------------------------------------------------- */ -/* Taken from the "C" code in the W3C SVG specification. Translated - to C89 by Fredrik Lundh */ - -#if 0 - -/* Produces results in the range [1, 2**31 - 2]. -Algorithm is: r = (a * r) mod m -where a = 16807 and m = 2**31 - 1 = 2147483647 -See [Park & Miller], CACM vol. 31 no. 10 p. 1195, Oct. 1988 -To test: the algorithm should produce the result 1043618065 -as the 10,000th generated number if the original seed is 1. -*/ -#define RAND_m 2147483647 /* 2**31 - 1 */ -#define RAND_a 16807 /* 7**5; primitive root of m */ -#define RAND_q 127773 /* m / a */ -#define RAND_r 2836 /* m % a */ - -static long -perlin_setup_seed(long lSeed) -{ - if (lSeed <= 0) lSeed = -(lSeed % (RAND_m - 1)) + 1; - if (lSeed > RAND_m - 1) lSeed = RAND_m - 1; - return lSeed; -} - -static long -perlin_random(long lSeed) -{ - long result; - result = RAND_a * (lSeed % RAND_q) - RAND_r * (lSeed / RAND_q); - if (result <= 0) result += RAND_m; - return result; -} - -#define BSize 0x100 -#define BM 0xff -#define PerlinN 0x1000 -#define NP 12 /* 2^PerlinN */ -#define NM 0xfff -static int perlin_uLatticeSelector[BSize + BSize + 2]; -static double perlin_fGradient[4][BSize + BSize + 2][2]; -typedef struct -{ - int nWidth; /* How much to subtract to wrap for stitching. */ - int nHeight; - int nWrapX; /* Minimum value to wrap. */ - int nWrapY; -} StitchInfo; - -static void -perlin_init(long lSeed) -{ - double s; - int i, j, k; - lSeed = perlin_setup_seed(lSeed); - for(k = 0; k < 4; k++) - { - for(i = 0; i < BSize; i++) - { - perlin_uLatticeSelector[i] = i; - for (j = 0; j < 2; j++) - perlin_fGradient[k][i][j] = (double)(((lSeed = perlin_random(lSeed)) % (BSize + BSize)) - BSize) / BSize; - s = (double) (sqrt(perlin_fGradient[k][i][0] * perlin_fGradient[k][i][0] + perlin_fGradient[k][i][1] * perlin_fGradient[k][i][1])); - perlin_fGradient[k][i][0] /= s; - perlin_fGradient[k][i][1] /= s; - } - } - while(--i) - { - k = perlin_uLatticeSelector[i]; - perlin_uLatticeSelector[i] = perlin_uLatticeSelector[j = (lSeed = perlin_random(lSeed)) % BSize]; - perlin_uLatticeSelector[j] = k; - } - for(i = 0; i < BSize + 2; i++) - { - perlin_uLatticeSelector[BSize + i] = perlin_uLatticeSelector[i]; - for(k = 0; k < 4; k++) - for(j = 0; j < 2; j++) - perlin_fGradient[k][BSize + i][j] = perlin_fGradient[k][i][j]; - } -} - -#define s_curve(t) ( t * t * (3. - 2. * t) ) -#define lerp(t, a, b) ( a + t * (b - a) ) -static double -perlin_noise2(int nColorChannel, double vec[2], StitchInfo *pStitchInfo) -{ - int bx0, bx1, by0, by1, b00, b10, b01, b11; - double rx0, rx1, ry0, ry1, *q, sx, sy, a, b, t, u, v; - register int i, j; - - t = vec[0] + (double) PerlinN; - bx0 = (int)t; - bx1 = bx0+1; - rx0 = t - (int)t; - rx1 = rx0 - 1.0f; - t = vec[1] + (double) PerlinN; - by0 = (int)t; - by1 = by0+1; - ry0 = t - (int)t; - ry1 = ry0 - 1.0f; - - /* If stitching, adjust lattice points accordingly. */ - if(pStitchInfo != NULL) - { - if(bx0 >= pStitchInfo->nWrapX) - bx0 -= pStitchInfo->nWidth; - if(bx1 >= pStitchInfo->nWrapX) - bx1 -= pStitchInfo->nWidth; - if(by0 >= pStitchInfo->nWrapY) - by0 -= pStitchInfo->nHeight; - if(by1 >= pStitchInfo->nWrapY) - by1 -= pStitchInfo->nHeight; - } - - bx0 &= BM; - bx1 &= BM; - by0 &= BM; - by1 &= BM; - - i = perlin_uLatticeSelector[bx0]; - j = perlin_uLatticeSelector[bx1]; - b00 = perlin_uLatticeSelector[i + by0]; - b10 = perlin_uLatticeSelector[j + by0]; - b01 = perlin_uLatticeSelector[i + by1]; - b11 = perlin_uLatticeSelector[j + by1]; - sx = (double) (s_curve(rx0)); - sy = (double) (s_curve(ry0)); - q = perlin_fGradient[nColorChannel][b00]; u = rx0 * q[0] + ry0 * q[1]; - q = perlin_fGradient[nColorChannel][b10]; v = rx1 * q[0] + ry0 * q[1]; - a = lerp(sx, u, v); - q = perlin_fGradient[nColorChannel][b01]; u = rx0 * q[0] + ry1 * q[1]; - q = perlin_fGradient[nColorChannel][b11]; v = rx1 * q[0] + ry1 * q[1]; - b = lerp(sx, u, v); - return lerp(sy, a, b); -} - -double -perlin_turbulence( - int nColorChannel, double *point, double fBaseFreqX, double fBaseFreqY, - int nNumOctaves, int bFractalSum, int bDoStitching, - double fTileX, double fTileY, double fTileWidth, double fTileHeight) -{ - StitchInfo stitch; - StitchInfo *pStitchInfo = NULL; /* Not stitching when NULL. */ - - double fSum = 0.0f; - double vec[2]; - double ratio = 1; - - int nOctave; - - vec[0] = point[0] * fBaseFreqX; - vec[1] = point[1] * fBaseFreqY; - - /* Adjust the base frequencies if necessary for stitching. */ - if(bDoStitching) - { - /* When stitching tiled turbulence, the frequencies must be adjusted */ - /* so that the tile borders will be continuous. */ - if(fBaseFreqX != 0.0) - { - double fLoFreq = (double) (floor(fTileWidth * fBaseFreqX)) / fTileWidth; - double fHiFreq = (double) (ceil(fTileWidth * fBaseFreqX)) / fTileWidth; - if(fBaseFreqX / fLoFreq < fHiFreq / fBaseFreqX) - fBaseFreqX = fLoFreq; - else - fBaseFreqX = fHiFreq; - } - - if(fBaseFreqY != 0.0) - { - double fLoFreq = (double) (floor(fTileHeight * fBaseFreqY)) / fTileHeight; - double fHiFreq = (double) (ceil(fTileHeight * fBaseFreqY)) / fTileHeight; - if(fBaseFreqY / fLoFreq < fHiFreq / fBaseFreqY) - fBaseFreqY = fLoFreq; - else - fBaseFreqY = fHiFreq; - } - - /* Set up initial stitch values. */ - pStitchInfo = &stitch; - stitch.nWidth = (int) (fTileWidth * fBaseFreqX + 0.5f); - stitch.nWrapX = (int) (fTileX * fBaseFreqX + PerlinN + stitch.nWidth); - stitch.nHeight = (int) (fTileHeight * fBaseFreqY + 0.5f); - stitch.nWrapY = (int) (fTileY * fBaseFreqY + PerlinN + stitch.nHeight); - } - - for(nOctave = 0; nOctave < nNumOctaves; nOctave++) - { - if(bFractalSum) - fSum += (double) (perlin_noise2(nColorChannel, vec, pStitchInfo) / ratio); - else - fSum += (double) (fabs(perlin_noise2(nColorChannel, vec, pStitchInfo)) / ratio); - - vec[0] *= 2; - vec[1] *= 2; - ratio *= 2; - - if(pStitchInfo != NULL) - { - /* Update stitch values. Subtracting PerlinN before the multiplication and */ - /* adding it afterward simplifies to subtracting it once. */ - stitch.nWidth *= 2; - stitch.nWrapX = 2 * stitch.nWrapX - PerlinN; - stitch.nHeight *= 2; - stitch.nWrapY = 2 * stitch.nWrapY - PerlinN; - } - } - return fSum; -} - -#endif +// End of file From 8c96d38ce96514e08679fd7fa4cc0957ee9802d9 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 15:14:00 +0300 Subject: [PATCH 026/107] Add access functions for ImagingEffectMandelbrot with a test --- PIL/Image.py | 14 ++++++++++++- Tests/images/mandelbrot.png | Bin 0 -> 13479 bytes Tests/test_image.py | 15 +++++++++++++- libImaging/Effects.c | 38 ++++++++++++++++++------------------ 4 files changed, 46 insertions(+), 21 deletions(-) create mode 100644 Tests/images/mandelbrot.png diff --git a/PIL/Image.py b/PIL/Image.py index 605595912..4c9a77e79 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -2424,9 +2424,21 @@ def _showxv(image, title=None, **options): # -------------------------------------------------------------------- # Effects +def effect_mandelbrot(size, extent, quality): + """ + Generate a Mandelbrot set covering the given extent. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param extent: The extent to cover, as a 4-tuple: + (x0, y0, x1, y2). + :param quality: Quality. + """ + return Image()._new(core.effect_mandelbrot(size, extent, quality)) + def effect_noise(size, sigma): """ - Generate Gaussian noise centered around 128 + Generate Gaussian noise centered around 128. :param size: The requested size in pixels, as a 2-tuple: (width, height). diff --git a/Tests/images/mandelbrot.png b/Tests/images/mandelbrot.png new file mode 100644 index 0000000000000000000000000000000000000000..d8167e721c8dd1e68bc7832ecda91c642ee01af4 GIT binary patch literal 13479 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 bBJHQ54g)dRimage8[y]; - for (x = 0; x < xsize; x++) { - x1 = y1 = xi2 = yi2 = 0.0; - cr = x*dr + extent[0]; - ci = y*di + extent[1]; - for (k = 1;; k++) { - y1 = 2*x1*y1 + ci; - x1 = xi2 - yi2 + cr; - xi2 = x1*x1; - yi2 = y1*y1; - if ((xi2 + yi2) > radius) { - buf[x] = k*255/quality; - break; - } - if (k > quality) { - buf[x] = 0; - break; - } - } - } + for (x = 0; x < xsize; x++) { + x1 = y1 = xi2 = yi2 = 0.0; + cr = x*dr + extent[0]; + ci = y*di + extent[1]; + for (k = 1;; k++) { + y1 = 2*x1*y1 + ci; + x1 = xi2 - yi2 + cr; + xi2 = x1*x1; + yi2 = y1*y1; + if ((xi2 + yi2) > radius) { + buf[x] = k*255/quality; + break; + } + if (k > quality) { + buf[x] = 0; + break; + } + } + } } return im; } From bcc5305125f3a38b8ea7aad501f891474375b6fd Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 15:53:58 +0300 Subject: [PATCH 027/107] Add access functions for ImagingEffectSpread with a test --- PIL/Image.py | 11 +++++++++++ .../{mandelbrot.png => effect_mandelbrot.png} | Bin Tests/images/effect_spread.png | Bin 0 -> 43292 bytes Tests/test_image.py | 15 ++++++++++++++- libImaging/Effects.c | 10 +++++----- 5 files changed, 30 insertions(+), 6 deletions(-) rename Tests/images/{mandelbrot.png => effect_mandelbrot.png} (100%) create mode 100644 Tests/images/effect_spread.png diff --git a/PIL/Image.py b/PIL/Image.py index 4c9a77e79..5e1416a33 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -1910,6 +1910,16 @@ class Image: im = self.im.transpose(method) return self._new(im) + def effect_spread(self, distance): + """ + Randomly spread pixels in an image. + + :param distance: Distance to spread pixels. + """ + self.load() + im = self.im.effect_spread(distance) + return self._new(im) + # -------------------------------------------------------------------- # Lazy operations @@ -2436,6 +2446,7 @@ def effect_mandelbrot(size, extent, quality): """ return Image()._new(core.effect_mandelbrot(size, extent, quality)) + def effect_noise(size, sigma): """ Generate Gaussian noise centered around 128. diff --git a/Tests/images/mandelbrot.png b/Tests/images/effect_mandelbrot.png similarity index 100% rename from Tests/images/mandelbrot.png rename to Tests/images/effect_mandelbrot.png diff --git a/Tests/images/effect_spread.png b/Tests/images/effect_spread.png new file mode 100644 index 0000000000000000000000000000000000000000..df7cfa4745a9acdf92a4baf1727c731741c3521d GIT binary patch literal 43292 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 literal 0 HcmV?d00001 diff --git a/Tests/test_image.py b/Tests/test_image.py index 77baf4fe7..00fbc438a 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -152,7 +152,7 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(im.size, (512, 512)) - im2 = Image.open('Tests/images/mandelbrot.png') + im2 = Image.open('Tests/images/effect_mandelbrot.png') self.assert_image_equal(im, im2) @unittest.skipUnless(sys.platform.startswith('win32'), @@ -170,6 +170,19 @@ class TestImage(PillowTestCase): self.assertEqual(im.getpixel((0, 0)), 60) self.assertEqual(im.getpixel((0, 1)), 28) + def test_effect_spread(self): + # Arrange + im = lena() + distance = 10 + + # Act + im2 = im.effect_spread(distance) + + # Assert + self.assertEqual(im.size, (128, 128)) + im3 = Image.open('Tests/images/effect_spread.png') + self.assert_image_equal(im2, im3) + if __name__ == '__main__': unittest.main() diff --git a/libImaging/Effects.c b/libImaging/Effects.c index 2ebd9f880..32fed6ddd 100644 --- a/libImaging/Effects.c +++ b/libImaging/Effects.c @@ -124,11 +124,11 @@ ImagingEffectSpread(Imaging imIn, int distance) imOut = ImagingNew(imIn->mode, imIn->xsize, imIn->ysize); if (!imOut) - return NULL; + return NULL; -#define SPREAD(type, image)\ +#define SPREAD(type, image)\ for (y = 0; y < imIn->ysize; y++)\ - for (x = 0; x < imIn->xsize; x++) {\ + for (x = 0; x < imIn->xsize; x++) {\ int xx = x + (rand() % distance) - distance/2;\ int yy = y + (rand() % distance) - distance/2;\ if (xx >= 0 && xx < imIn->xsize && yy >= 0 && yy < imIn->ysize) {\ @@ -139,9 +139,9 @@ ImagingEffectSpread(Imaging imIn, int distance) } if (imIn->image8) { - SPREAD(UINT8, image8); + SPREAD(UINT8, image8); } else { - SPREAD(INT32, image32); + SPREAD(INT32, image32); } ImagingCopyInfo(imOut, imIn); From b9303b454f9f091287af31f1f2ccba6a157196b6 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 16:00:43 +0300 Subject: [PATCH 028/107] Test image was generated on Windows and matches on Windows, but not on Travis (Linux). Check for similar. --- Tests/test_image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 00fbc438a..86a32c0ca 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -181,7 +181,7 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(im.size, (128, 128)) im3 = Image.open('Tests/images/effect_spread.png') - self.assert_image_equal(im2, im3) + self.assert_image_similar(im2, im3, 10) if __name__ == '__main__': unittest.main() From ed85a03db02ce197169a54ec01634190ba07da89 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 16:12:23 +0300 Subject: [PATCH 029/107] An epsilon of 80 should do it, getting ~79.5 on Travis --- Tests/test_image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 86a32c0ca..855c968d9 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -181,7 +181,7 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(im.size, (128, 128)) im3 = Image.open('Tests/images/effect_spread.png') - self.assert_image_similar(im2, im3, 10) + self.assert_image_similar(im2, im3, 80) if __name__ == '__main__': unittest.main() From 3a9612af50c20bbf32318bf4d896908db5804af0 Mon Sep 17 00:00:00 2001 From: hugovk Date: Tue, 2 Sep 2014 16:39:35 +0300 Subject: [PATCH 030/107] Test mandelbrot with bad arguments --- Tests/test_image.py | 13 +++++++++++++ libImaging/Effects.c | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 855c968d9..46669db4b 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -155,6 +155,19 @@ class TestImage(PillowTestCase): im2 = Image.open('Tests/images/effect_mandelbrot.png') self.assert_image_equal(im, im2) + def test_effect_mandelbrot_bad_arguments(self): + # Arrange + size = (512, 512) + # Get coordinates the wrong way round: + extent = (+3, +2.5, -2, -2.5) + # Quality < 2: + quality = 1 + + # Act/Assert + self.assertRaises( + ValueError, + lambda: Image.effect_mandelbrot(size, extent, quality)) + @unittest.skipUnless(sys.platform.startswith('win32'), "Stalls on Travis CI, passes on Windows") def test_effect_noise(self): diff --git a/libImaging/Effects.c b/libImaging/Effects.c index 32fed6ddd..eb598d968 100644 --- a/libImaging/Effects.c +++ b/libImaging/Effects.c @@ -139,9 +139,9 @@ ImagingEffectSpread(Imaging imIn, int distance) } if (imIn->image8) { - SPREAD(UINT8, image8); + SPREAD(UINT8, image8); } else { - SPREAD(INT32, image32); + SPREAD(INT32, image32); } ImagingCopyInfo(imOut, imIn); From a65351fcdf04f8413ad4094a787ef1cd6cc66c1c Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 14:38:27 -0700 Subject: [PATCH 031/107] Updated Changes.rst [ci skip] --- CHANGES.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index c068013a6..6c3047220 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Correct duplicate Tiff Metadata and Exif tag values + [hugovk] + - Windows fixes #871 [wiredfool] @@ -58,7 +61,7 @@ Changelog (Pillow) - Added docs for ExifTags [Wintermute3] -- More tests for CurImagePlugin, DcxImagePlugin, ImageFont, ImageMath, ImagePalette, IptcImagePlugin, SpiderImagePlugin, SgiImagePlugin, XpmImagePlugin and _util +- More tests for CurImagePlugin, DcxImagePlugin, Effects.c, GimpGradientFile, ImageFont, ImageMath, ImagePalette, IptcImagePlugin, SpiderImagePlugin, SgiImagePlugin, XpmImagePlugin and _util [hugovk] - Fix return value of FreeTypeFont.textsize() does not include font offsets From 416d8e340e337e61cdf2cd4b189010ce361bf53c Mon Sep 17 00:00:00 2001 From: etienne Date: Tue, 2 Sep 2014 14:49:24 -0400 Subject: [PATCH 032/107] Fixed issue #857. When saving a JPEG and specifying 'keep' for quality or subsampling, if the source JPEG image is in grayscale mode, don't try to find the subsampling of the source, because grayscale images don't have any subsampling (it's only for color components). For the moment the fix also ignores subsampling of CMYK JPEG because currently Pillow doesn't support encoding JPEG in YCCK mode (and subsampling doesn't make sense in CMYK, but Pillow permits saving CMYK JPEG with subsampling, that's a bug). This fix pass those errors silently, i.e. it doesn't raise an error when 'keep' is used but it's not possible to keep the subsampling (because the image is grayscale or CMYK). I think it's the proper behavior but I'm not sure. --- PIL/JpegImagePlugin.py | 9 +++++++++ Tests/images/lena_gray.jpg | Bin 0 -> 23013 bytes Tests/test_file_jpeg.py | 9 +++++++++ encode.c | 10 +++++----- 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 Tests/images/lena_gray.jpg diff --git a/PIL/JpegImagePlugin.py b/PIL/JpegImagePlugin.py index 9cbab6b61..dde7d93ca 100644 --- a/PIL/JpegImagePlugin.py +++ b/PIL/JpegImagePlugin.py @@ -545,6 +545,15 @@ def convert_dict_qtables(qtables): def get_sampling(im): + # There's no subsampling when image have only 1 layer + # (grayscale images) or when they are CMYK (4 layers), + # so set subsampling to default value. + # + # NOTE: currently Pillow can't encode JPEG to YCCK format. + # If YCCK support is added in the future, subsampling code will have + # to be updated (here and in JpegEncode.c) to deal with 4 layers. + if not hasattr(im, 'layers') or im.layers in (1, 4): + return -1 sampling = im.layer[0][1:3] + im.layer[1][1:3] + im.layer[2][1:3] return samplings.get(sampling, -1) diff --git a/Tests/images/lena_gray.jpg b/Tests/images/lena_gray.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72e9a4a77172c62812b054e2b05a06f1bdb17002 GIT binary patch literal 23013 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 NUM_QUANT_TBLS) { - PyErr_SetString(PyExc_ValueError, "Not a valid numbers of quantization tables. Should be between 2 and 4."); + if (num_tables < 1 || num_tables > NUM_QUANT_TBLS) { + PyErr_SetString(PyExc_ValueError, "Not a valid numbers of quantization tables. Should be between 1 and 4."); return NULL; } qarrays = (unsigned int**) PyMem_Malloc(num_tables * sizeof(unsigned int*)); @@ -760,7 +760,7 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) (ttag_t) PyInt_AsLong(key), intav); free(intav); - } + } } else { TRACE((" %d elements, setting as floats \n", len)); floatav = malloc(sizeof(float)*len); @@ -903,7 +903,7 @@ PyImaging_Jpeg2KEncoderNew(PyObject *self, PyObject *args) j2k_decode_coord_tuple(tile_offset, &context->tile_offset_x, &context->tile_offset_y); - j2k_decode_coord_tuple(tile_size, + j2k_decode_coord_tuple(tile_size, &context->tile_size_x, &context->tile_size_y); @@ -918,7 +918,7 @@ PyImaging_Jpeg2KEncoderNew(PyObject *self, PyObject *args) if (context->tile_offset_x > context->offset_x || context->tile_offset_y > context->offset_y) { - PyErr_SetString(PyExc_ValueError, + PyErr_SetString(PyExc_ValueError, "JPEG 2000 tile offset too large to cover image area"); Py_DECREF(encoder); return NULL; From c2835350a87ed52b2e3fe483616393f0606baec1 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 14:56:59 -0700 Subject: [PATCH 033/107] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6c3047220..59e709011 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Correctly handle saving gray and CMYK JPEGs with quality-keep #857 + [etienned] + - Correct duplicate Tiff Metadata and Exif tag values [hugovk] From f54bccab0ec36f8c2012c2b0c0c7e34f35196864 Mon Sep 17 00:00:00 2001 From: Kenny Ostrom Date: Wed, 20 Aug 2014 17:24:28 -0500 Subject: [PATCH 034/107] multipage tiff for iterator testing --- Tests/images/test.tif | Bin 0 -> 816 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/images/test.tif diff --git a/Tests/images/test.tif b/Tests/images/test.tif new file mode 100644 index 0000000000000000000000000000000000000000..7a7f5f89a05f35ebba3e8ff6ce7903c91a955965 GIT binary patch literal 816 zcmb_ayAHxI40IBxP$#H(NTnkSZ0rmSEd2p?29Q`7SXlc#d=?`kGg3JRCj==76=5m$ z)v=r0^~!Qa1;wLFqzox+rdTS#S}^aK04IVC>OIx6vmM|p=otifD41~6Nc#Ke&sE#b zUVz7fufRnxI|bIL;bt^f+TQVowJOT{O_Dk7&r0>?)puqGmPkbvcUJ9Pf{4p e>68J-bkbzJPC0s Date: Wed, 20 Aug 2014 21:43:46 -0700 Subject: [PATCH 035/107] Tests for multipage tiffs --- Tests/images/multipage-lastframe.tif | Bin 0 -> 296 bytes Tests/images/{test.tif => multipage.tiff} | Bin Tests/test_file_libtiff.py | 29 ++++++++++++++++++++++ Tests/test_file_tiff.py | 28 ++++++++++++++++++++- 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 Tests/images/multipage-lastframe.tif rename Tests/images/{test.tif => multipage.tiff} (100%) diff --git a/Tests/images/multipage-lastframe.tif b/Tests/images/multipage-lastframe.tif new file mode 100644 index 0000000000000000000000000000000000000000..aeba534e25a9f0527c5fe1674461d4b484b67159 GIT binary patch literal 296 zcmebD)M9X9pbQ8wFfcMRFaiw`0b)iZHWQQ$l4C| Date: Wed, 20 Aug 2014 21:44:28 -0700 Subject: [PATCH 036/107] Don't close fd for multipage files --- PIL/TiffImagePlugin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PIL/TiffImagePlugin.py b/PIL/TiffImagePlugin.py index 9bef30ebe..d7367c113 100644 --- a/PIL/TiffImagePlugin.py +++ b/PIL/TiffImagePlugin.py @@ -744,7 +744,8 @@ class TiffImageFile(ImageFile.ImageFile): self.readonly = 0 # libtiff closed the fp in a, we need to close self.fp, if possible if hasattr(self.fp, 'close'): - self.fp.close() + if not self.__next: + self.fp.close() self.fp = None # might be shared if err < 0: From 99f7dd2afffb4fdec7ba9607bf98140cf1d441bd Mon Sep 17 00:00:00 2001 From: wiredfool Date: Wed, 20 Aug 2014 22:52:12 -0700 Subject: [PATCH 037/107] Allocate a new core image object for each frame, fixes problems with reusing palettes and image sizes --- PIL/TiffImagePlugin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PIL/TiffImagePlugin.py b/PIL/TiffImagePlugin.py index d7367c113..85d5609c9 100644 --- a/PIL/TiffImagePlugin.py +++ b/PIL/TiffImagePlugin.py @@ -655,7 +655,9 @@ class TiffImageFile(ImageFile.ImageFile): self.__next = self.tag.next self.__frame += 1 self._setup() - + #UNDONE - decompresion bomb + self.im = Image.core.new(self.mode, self.size) + def _tell(self): return self.__frame From d5b4f136c522b10ad110638482b2b9c420022379 Mon Sep 17 00:00:00 2001 From: Kenny Ostrom Date: Thu, 21 Aug 2014 13:02:01 -0500 Subject: [PATCH 038/107] added ifd offset to the tiff decoder args, call TIFFSetSubDirectory --- PIL/TiffImagePlugin.py | 3 +++ decode.c | 5 +++-- libImaging/TiffDecode.c | 18 ++++++++++++++---- libImaging/TiffDecode.h | 4 ++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/PIL/TiffImagePlugin.py b/PIL/TiffImagePlugin.py index 85d5609c9..4921f0a37 100644 --- a/PIL/TiffImagePlugin.py +++ b/PIL/TiffImagePlugin.py @@ -281,6 +281,7 @@ class ImageFileDirectory(collections.MutableMapping): self.tagdata = {} self.tagtype = {} # added 2008-06-05 by Florian Hoech self.next = None + self.offset = None def __str__(self): return str(self.as_dict()) @@ -415,6 +416,7 @@ class ImageFileDirectory(collections.MutableMapping): # load tag dictionary self.reset() + self.offset = fp.tell() i16 = self.i16 i32 = self.i32 @@ -708,6 +710,7 @@ class TiffImageFile(ImageFile.ImageFile): # (self._compression, (extents tuple), # 0, (rawmode, self._compression, fp)) ignored, extents, ignored_2, args = self.tile[0] + args = args + (self.ifd.offset,) decoder = Image._getdecoder(self.mode, 'libtiff', args, self.decoderconfig) try: diff --git a/decode.c b/decode.c index d5e329384..e9aa6a387 100644 --- a/decode.c +++ b/decode.c @@ -442,8 +442,9 @@ PyImaging_LibTiffDecoderNew(PyObject* self, PyObject* args) char* rawmode; char* compname; int fp; + int ifdoffset; - if (! PyArg_ParseTuple(args, "sssi", &mode, &rawmode, &compname, &fp)) + if (! PyArg_ParseTuple(args, "sssii", &mode, &rawmode, &compname, &fp, &ifdoffset)) return NULL; TRACE(("new tiff decoder %s\n", compname)); @@ -455,7 +456,7 @@ PyImaging_LibTiffDecoderNew(PyObject* self, PyObject* args) if (get_unpacker(decoder, mode, rawmode) < 0) return NULL; - if (! ImagingLibTiffInit(&decoder->state, fp)) { + if (! ImagingLibTiffInit(&decoder->state, fp, ifdoffset)) { Py_DECREF(decoder); PyErr_SetString(PyExc_RuntimeError, "tiff codec initialization failed"); return NULL; diff --git a/libImaging/TiffDecode.c b/libImaging/TiffDecode.c index 787cd4506..1d320e9bd 100644 --- a/libImaging/TiffDecode.c +++ b/libImaging/TiffDecode.c @@ -21,8 +21,8 @@ #include "TiffDecode.h" void dump_state(const TIFFSTATE *state){ - TRACE(("State: Location %u size %d eof %d data: %p \n", (uint)state->loc, - (int)state->size, (uint)state->eof, state->data)); + TRACE(("State: Location %u size %d eof %d data: %p ifd: %d\n", (uint)state->loc, + (int)state->size, (uint)state->eof, state->data, state->ifd)); } /* @@ -142,7 +142,7 @@ void _tiffUnmapProc(thandle_t hdata, tdata_t base, toff_t size) { (void) hdata; (void) base; (void) size; } -int ImagingLibTiffInit(ImagingCodecState state, int fp) { +int ImagingLibTiffInit(ImagingCodecState state, int fp, int offset) { TIFFSTATE *clientstate = (TIFFSTATE *)state->context; TRACE(("initing libtiff\n")); @@ -158,6 +158,7 @@ int ImagingLibTiffInit(ImagingCodecState state, int fp) { clientstate->size = 0; clientstate->data = 0; clientstate->fp = fp; + clientstate->ifd = offset; clientstate->eof = 0; return 1; @@ -195,7 +196,6 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int clientstate->loc = 0; clientstate->data = (tdata_t)buffer; clientstate->flrealloc = 0; - dump_state(clientstate); TIFFSetWarningHandler(NULL); @@ -220,6 +220,16 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int return -1; } + if (clientstate->ifd){ + unsigned int ifdoffset = clientstate->ifd; + TRACE(("reading tiff ifd %d\n", ifdoffset)); + int rv = TIFFSetSubDirectory(tiff, ifdoffset); + if (!rv){ + TRACE(("error in TIFFSetSubDirectory")); + return -1; + } + } + size = TIFFScanlineSize(tiff); TRACE(("ScanlineSize: %d \n", size)); if (size > state->bytes) { diff --git a/libImaging/TiffDecode.h b/libImaging/TiffDecode.h index 46c940d1b..9875309e3 100644 --- a/libImaging/TiffDecode.h +++ b/libImaging/TiffDecode.h @@ -26,6 +26,7 @@ typedef struct { toff_t loc; /* toff_t == uint32 */ tsize_t size; /* tsize_t == int32 */ int fp; + int ifd; /* offset of the ifd, used for multipage */ TIFF *tiff; /* Used in write */ toff_t eof; int flrealloc; /* may we realloc */ @@ -33,7 +34,7 @@ typedef struct { -extern int ImagingLibTiffInit(ImagingCodecState state, int fp); +extern int ImagingLibTiffInit(ImagingCodecState state, int fp, int offset); extern int ImagingLibTiffEncodeInit(ImagingCodecState state, char *filename, int fp); extern int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...); @@ -50,5 +51,4 @@ extern int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...); #define TRACE(args) - #endif From 3df822d1ef0693cf242eb9f8bb2d9de914f9a0fa Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 26 Aug 2014 14:16:01 -0700 Subject: [PATCH 039/107] Testing the imagesequence module with the multipage tiffs --- Tests/test_imagesequence.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Tests/test_imagesequence.py b/Tests/test_imagesequence.py index fd10e5989..2470bc732 100644 --- a/Tests/test_imagesequence.py +++ b/Tests/test_imagesequence.py @@ -1,6 +1,6 @@ from helper import unittest, PillowTestCase, lena -from PIL import ImageSequence +from PIL import Image, ImageSequence, TiffImagePlugin class TestImageSequence(PillowTestCase): @@ -22,7 +22,26 @@ class TestImageSequence(PillowTestCase): self.assertEqual(index, 1) + def _test_multipage_tiff(self): + im = Image.open('Tests/images/multipage.tiff') + for index, frame in enumerate(ImageSequence.Iterator(im)): + frame.load() + self.assertEqual(index, im.tell()) + frame.convert('RGB') + + def test_tiff(self): + return self._test_multipage_tiff() + def test_libtiff(self): + codecs = dir(Image.core) + + if "libtiff_encoder" not in codecs or "libtiff_decoder" not in codecs: + self.skipTest("tiff support not available") + + TiffImagePlugin.READ_LIBTIFF = True + self._test_multipage_tiff() + TiffImagePlugin.READ_LIBTIFF = False + if __name__ == '__main__': unittest.main() From d8b2829f4b5819c4ae09a7aa81088ff3853a3c25 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 26 Aug 2014 15:30:03 -0700 Subject: [PATCH 040/107] Partial fix for test failures, works on py2.x --- PIL/TiffImagePlugin.py | 20 ++++++++++++++------ Tests/test_file_libtiff.py | 2 +- Tests/test_imagesequence.py | 11 ++++++++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/PIL/TiffImagePlugin.py b/PIL/TiffImagePlugin.py index 4921f0a37..abf9db7e3 100644 --- a/PIL/TiffImagePlugin.py +++ b/PIL/TiffImagePlugin.py @@ -448,7 +448,11 @@ class ImageFileDirectory(collections.MutableMapping): # Get and expand tag value if size > 4: here = fp.tell() + if Image.DEBUG: + print ("Tag Location: %s" %here) fp.seek(i32(ifd, 8)) + if Image.DEBUG: + print ("Data Location: %s" %fp.tell()) data = ImageFile._safe_read(fp, size) fp.seek(here) else: @@ -632,18 +636,20 @@ class TiffImageFile(ImageFile.ImageFile): def seek(self, frame): "Select a given frame as current image" - if frame < 0: frame = 0 self._seek(frame) + # Create a new core image object on second and + # subsequent frames in the image. Image may be + # different size/mode. + Image._decompression_bomb_check(self.size) + self.im = Image.core.new(self.mode, self.size) def tell(self): "Return the current frame number" - return self._tell() def _seek(self, frame): - self.fp = self.__fp if frame < self.__frame: # rewind file @@ -652,16 +658,18 @@ class TiffImageFile(ImageFile.ImageFile): while self.__frame < frame: if not self.__next: raise EOFError("no more images in TIFF file") + if Image.DEBUG: + print("Seeking to frame %s, on frame %s, __next %s, location: %s"% + (frame, self.__frame, self.__next, self.fp.tell())) self.fp.seek(self.__next) + if Image.DEBUG: + print("Loading tags, location: %s"%self.fp.tell()) self.tag.load(self.fp) self.__next = self.tag.next self.__frame += 1 self._setup() - #UNDONE - decompresion bomb - self.im = Image.core.new(self.mode, self.size) def _tell(self): - return self.__frame def _decoder(self, rawmode, layer, tile=None): diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 121ad5de2..bdac5f300 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -332,7 +332,7 @@ class TestFileLibTiff(LibTiffTestCase): self.assertFalse(im.tag.next) self.assertEqual(im.size, (20,20)) self.assertEqual(im.convert('RGB').getpixel((0,0)), (0,0,255)) - + TiffImagePlugin.READ_LIBTIFF = False def test__next(self): diff --git a/Tests/test_imagesequence.py b/Tests/test_imagesequence.py index 2470bc732..068290451 100644 --- a/Tests/test_imagesequence.py +++ b/Tests/test_imagesequence.py @@ -22,15 +22,19 @@ class TestImageSequence(PillowTestCase): self.assertEqual(index, 1) - def _test_multipage_tiff(self): + def _test_multipage_tiff(self, dbg=False): + # debug had side effect of calling fp.tell. + Image.DEBUG=dbg im = Image.open('Tests/images/multipage.tiff') for index, frame in enumerate(ImageSequence.Iterator(im)): frame.load() self.assertEqual(index, im.tell()) frame.convert('RGB') + Image.DEBUG=False def test_tiff(self): - return self._test_multipage_tiff() + #self._test_multipage_tiff(True) + self._test_multipage_tiff(False) def test_libtiff(self): codecs = dir(Image.core) @@ -39,7 +43,8 @@ class TestImageSequence(PillowTestCase): self.skipTest("tiff support not available") TiffImagePlugin.READ_LIBTIFF = True - self._test_multipage_tiff() + #self._test_multipage_tiff(True) + self._test_multipage_tiff(False) TiffImagePlugin.READ_LIBTIFF = False if __name__ == '__main__': From 17ac15543d07a081f5fa357c1e7f89c41fea579d Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 15:08:51 -0700 Subject: [PATCH 041/107] fp.tell resyncs the python3 with the file pointer --- PIL/TiffImagePlugin.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PIL/TiffImagePlugin.py b/PIL/TiffImagePlugin.py index abf9db7e3..50648288e 100644 --- a/PIL/TiffImagePlugin.py +++ b/PIL/TiffImagePlugin.py @@ -661,6 +661,9 @@ class TiffImageFile(ImageFile.ImageFile): if Image.DEBUG: print("Seeking to frame %s, on frame %s, __next %s, location: %s"% (frame, self.__frame, self.__next, self.fp.tell())) + # reset python3 buffered io handle in case fp + # was passed to libtiff, invalidating the buffer + self.fp.tell() self.fp.seek(self.__next) if Image.DEBUG: print("Loading tags, location: %s"%self.fp.tell()) From 8193566ff1a2eba3a2f0f4cddf17833346c18b79 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Mon, 4 Aug 2014 14:48:42 -0700 Subject: [PATCH 042/107] Try to open the file in universal line ending mode, fallback to prev behavior --- PIL/EpsImagePlugin.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 9f963f7e6..197fa8753 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -179,6 +179,20 @@ class PSFile: self.char = None return s.decode('latin-1') + "\n" +class PSFpWrapper: + """ Wrapper for a filepointer that has been opened in universal mode """ + def __init__(self,fp): + self.fp = fp + + def __getattr__(self, attr): + """ Delegate everything that we're not wrapping """ + return getattr(self.fp, attr) + + def read(self, count): + return self.fp.read(count) + + readbinary = read + def _accept(prefix): return prefix[:4] == b"%!PS" or i32(prefix) == 0xC6D3D0C5 @@ -195,7 +209,11 @@ class EpsImageFile(ImageFile.ImageFile): def _open(self): - fp = PSFile(self.fp) + try: + fp = PSFpWrapper(open(self.fp.name, "Ur", 'latin-1')) + except: + print ("fallback to psfile") + fp = PSFile(self.fp) # FIX for: Some EPS file not handled correctly / issue #302 # EPS can contain binary data From e52152baaddf6bb6a74bb2ed1f24bc1545c59d75 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Mon, 4 Aug 2014 15:27:08 -0700 Subject: [PATCH 043/107] Test bytesio object --- Tests/test_file_eps.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 0ca4249a3..5b369552a 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -63,6 +63,17 @@ class TestFileEps(PillowTestCase): with io.open(self.tempfile('temp_iobase.eps'), 'wb') as fh: image1.save(fh, 'EPS') + def test_bytesio_object(self): + with open(file1, 'rb') as f: + img_bytes = io.BytesIO(f.read()) + + img = Image.open(img_bytes) + img.load() + + image1_scale1_compare = Image.open(file1_compare).convert("RGB") + image1_scale1_compare.load() + self.assert_image_similar(img, image1_scale1_compare, 5) + def test_render_scale1(self): # We need png support for these render test codecs = dir(Image.core) From 9b35a4538d4cb121806f41c4338ac50a83107e5c Mon Sep 17 00:00:00 2001 From: wiredfool Date: Mon, 4 Aug 2014 15:28:57 -0700 Subject: [PATCH 044/107] Read the offset using original fp Read the rest of the text data using one of the line ending wrappers. --- PIL/EpsImagePlugin.py | 66 ++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 197fa8753..88ce23b22 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -189,9 +189,11 @@ class PSFpWrapper: return getattr(self.fp, attr) def read(self, count): + return self.fp.read(count).decode('latin-1') + + def readbinary(self, count): return self.fp.read(count) - readbinary = read def _accept(prefix): @@ -208,39 +210,24 @@ class EpsImageFile(ImageFile.ImageFile): format_description = "Encapsulated Postscript" def _open(self): + (length, offset) = self._find_offset(self.fp) + # Rewrap the open file pointer in something that will + # convert line endings and decode to latin-1. try: - fp = PSFpWrapper(open(self.fp.name, "Ur", 'latin-1')) - except: - print ("fallback to psfile") + if bytes is str: + # Python2, need the decode to latin-1 on read. + fp = PSFpWrapper(open(self.fp.name, "Ur")) + else: + # Python3, can use bare open command. + fp = open(self.fp.name, "Ur", encoding='latin-1') + except Exception as msg: + # Expect this for bytesio/stringio fp = PSFile(self.fp) - # FIX for: Some EPS file not handled correctly / issue #302 - # EPS can contain binary data - # or start directly with latin coding - # read header in both ways to handle both - # file types - # more info see http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf - - # for HEAD without binary preview - s = fp.read(4) - # for HEAD with binary preview - fp.seek(0) - sb = fp.readbinary(160) - - if s[:4] == "%!PS": - fp.seek(0, 2) - length = fp.tell() - offset = 0 - elif i32(sb[0:4]) == 0xC6D3D0C5: - offset = i32(sb[4:8]) - length = i32(sb[8:12]) - else: - raise SyntaxError("not an EPS file") - - # go to offset - start of "%!PS" + # go to offset - start of "%!PS" fp.seek(offset) - + box = None self.mode = "RGB" @@ -372,6 +359,27 @@ class EpsImageFile(ImageFile.ImageFile): if not box: raise IOError("cannot determine EPS bounding box") + def _find_offset(self, fp): + + s = fp.read(160) + + if s[:4] == b"%!PS": + # for HEAD without binary preview + fp.seek(0, 2) + length = fp.tell() + offset = 0 + elif i32(s[0:4]) == 0xC6D3D0C5: + # FIX for: Some EPS file not handled correctly / issue #302 + # EPS can contain binary data + # or start directly with latin coding + # more info see http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + offset = i32(s[4:8]) + length = i32(s[8:12]) + else: + raise SyntaxError("not an EPS file") + + return (length, offset) + def load(self, scale=1): # Load EPS via Ghostscript if not self.tile: From 8f75cc2bbf9cb274a7167f895ab0d437ddca1c07 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Thu, 7 Aug 2014 16:41:10 -0700 Subject: [PATCH 045/107] Don't search for the imagedata if we're not going to do anything with it --- PIL/EpsImagePlugin.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 88ce23b22..745e01b02 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -308,7 +308,7 @@ class EpsImageFile(ImageFile.ImageFile): s = s[:-1] if s[:11] == "%ImageData:": - + # Encoded bitmapped image. [x, y, bi, mo, z3, z4, en, id] =\ s[11:].split(None, 7) @@ -335,23 +335,10 @@ class EpsImageFile(ImageFile.ImageFile): self.mode = "RGB" else: break - - if id[:1] == id[-1:] == '"': - id = id[1:-1] - - # Scan forward to the actual image data - while True: - s = fp.readline() - if not s: - break - if s[:len(id)] == id: - self.size = x, y - self.tile2 = [(decoder, - (0, 0, x, y), - fp.tell(), - 0)] - return - + + self.size = (x,y) + return + s = fp.readline() if not s: break From ee46f45b96075593a5d4d39d9fa2b609e104fec4 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 8 Aug 2014 15:47:39 -0700 Subject: [PATCH 046/107] Remove unused code, tighten up readline for all the line endings --- PIL/EpsImagePlugin.py | 111 ++++++++++-------------------------------- 1 file changed, 26 insertions(+), 85 deletions(-) diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 745e01b02..97680fec8 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -143,58 +143,28 @@ def Ghostscript(tile, size, fp, scale=1): class PSFile: - """Wrapper that treats either CR or LF as end of line.""" + """Wrapper for bytesio object that treats either CR or LF as end of line.""" def __init__(self, fp): self.fp = fp self.char = None - def __getattr__(self, id): - v = getattr(self.fp, id) - setattr(self, id, v) - return v def seek(self, offset, whence=0): self.char = None self.fp.seek(offset, whence) - def read(self, count): - return self.fp.read(count).decode('latin-1') - def readbinary(self, count): - return self.fp.read(count) - def tell(self): - pos = self.fp.tell() - if self.char: - pos -= 1 - return pos def readline(self): - s = b"" - if self.char: - c = self.char - self.char = None - else: - c = self.fp.read(1) + s = self.char or b"" + self.char = None + + c = self.fp.read(1) while c not in b"\r\n": s = s + c c = self.fp.read(1) - if c == b"\r": - self.char = self.fp.read(1) - if self.char == b"\n": - self.char = None - return s.decode('latin-1') + "\n" - -class PSFpWrapper: - """ Wrapper for a filepointer that has been opened in universal mode """ - def __init__(self,fp): - self.fp = fp - - def __getattr__(self, attr): - """ Delegate everything that we're not wrapping """ - return getattr(self.fp, attr) - - def read(self, count): - return self.fp.read(count).decode('latin-1') - - def readbinary(self, count): - return self.fp.read(count) - + self.char = self.fp.read(1) + # line endings can be 1 or 2 of \r \n, in either order + if self.char in b"\r\n": + self.char = None + + return s.decode('latin-1') def _accept(prefix): return prefix[:4] == b"%!PS" or i32(prefix) == 0xC6D3D0C5 @@ -209,6 +179,8 @@ class EpsImageFile(ImageFile.ImageFile): format = "EPS" format_description = "Encapsulated Postscript" + mode_map = { 1:"L", 2:"LAB", 3:"RGB" } + def _open(self): (length, offset) = self._find_offset(self.fp) @@ -216,8 +188,8 @@ class EpsImageFile(ImageFile.ImageFile): # convert line endings and decode to latin-1. try: if bytes is str: - # Python2, need the decode to latin-1 on read. - fp = PSFpWrapper(open(self.fp.name, "Ur")) + # Python2, no encoding conversion necessary + fp = open(self.fp.name, "Ur") else: # Python3, can use bare open command. fp = open(self.fp.name, "Ur", encoding='latin-1') @@ -236,18 +208,12 @@ class EpsImageFile(ImageFile.ImageFile): # # Load EPS header - s = fp.readline() + s = fp.readline().strip('\r\n') while s: - if len(s) > 255: raise SyntaxError("not an EPS file") - if s[-2:] == '\r\n': - s = s[:-2] - elif s[-1:] == '\n': - s = s[:-1] - try: m = split.match(s) except re.error as v: @@ -269,9 +235,7 @@ class EpsImageFile(ImageFile.ImageFile): pass else: - m = field.match(s) - if m: k = m.group(1) @@ -281,16 +245,16 @@ class EpsImageFile(ImageFile.ImageFile): self.info[k[:8]] = k[9:] else: self.info[k] = "" - elif s[0:1] == '%': + elif s[0] == '%': # handle non-DSC Postscript comments that some # tools mistakenly put in the Comments section pass else: raise IOError("bad EPS header") - s = fp.readline() + s = fp.readline().strip('\r\n') - if s[:1] != "%": + if s[0] != "%": break @@ -302,44 +266,21 @@ class EpsImageFile(ImageFile.ImageFile): if len(s) > 255: raise SyntaxError("not an EPS file") - if s[-2:] == '\r\n': - s = s[:-2] - elif s[-1:] == '\n': - s = s[:-1] - if s[:11] == "%ImageData:": # Encoded bitmapped image. - [x, y, bi, mo, z3, z4, en, id] =\ - s[11:].split(None, 7) + [x, y, bi, mo, z3, z4, en, id] = s[11:].split(None, 7) - x = int(x); y = int(y) - - bi = int(bi) - mo = int(mo) - - en = int(en) - - if en == 1: - decoder = "eps_binary" - elif en == 2: - decoder = "eps_hex" - else: + if int(bi) != 8: break - if bi != 8: - break - if mo == 1: - self.mode = "L" - elif mo == 2: - self.mode = "LAB" - elif mo == 3: - self.mode = "RGB" - else: + try: + self.mode = self.mode_map[int(mo)] + except: break - self.size = (x,y) + self.size = int(x), int(y) return - s = fp.readline() + s = fp.readline().strip('\r\n') if not s: break From 6dc276599eb15647020e40b623f64fb7e78baf3a Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 22:47:05 -0700 Subject: [PATCH 047/107] test for all the different line ending characters --- Tests/test_file_eps.py | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 5b369552a..4c8d1c014 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -148,6 +148,71 @@ class TestFileEps(PillowTestCase): # open image with binary preview Image.open(file3) + def _test_readline(self,t, ending): + ending = "Failure with line ending: %s" %("".join("%s" %ord(s) for s in ending)) + self.assertEqual(t.readline().strip('\r\n'), 'something', ending) + self.assertEqual(t.readline().strip('\r\n'), 'else', ending) + self.assertEqual(t.readline().strip('\r\n'), 'baz', ending) + self.assertEqual(t.readline().strip('\r\n'), 'bif', ending) + + def _test_readline_stringio(self, test_string, ending): + # check all the freaking line endings possible + try: + import StringIO + except: + # don't skip, it skips everything in the parent test + return + t = StringIO.StringIO(test_string) + self._test_readline(t, ending) + + def _test_readline_io(self, test_string, ending): + import io + t = io.StringIO(test_string) + self._test_readline(t, ending) + + def _test_readline_file_universal(self, test_string, ending): + f = self.tempfile('temp.txt') + with open(f,'wb') as w: + if str is bytes: + w.write(test_string) + else: + w.write(test_string.encode('UTF-8')) + + with open(f,'rU') as t: + self._test_readline(t, ending) + + def _test_readline_file_psfile(self, test_string, ending): + f = self.tempfile('temp.txt') + with open(f,'wb') as w: + if str is bytes: + w.write(test_string) + else: + w.write(test_string.encode('UTF-8')) + + with open(f,'rb') as r: + t = EpsImagePlugin.PSFile(r) + self._test_readline(t, ending) + + def test_readline(self): + # check all the freaking line endings possible from the spec + #test_string = u'something\r\nelse\n\rbaz\rbif\n' + line_endings = [u'\r\n', u'\n'] + not_working_endings = [u'\n\r', u'\r'] + strings = [u'something', u'else', u'baz', u'bif'] + + for ending in line_endings: + s = ending.join(strings) + self._test_readline_stringio(s, ending) + self._test_readline_io(s, ending) + self._test_readline_file_universal(s, ending) + + for ending in not_working_endings: + # these only work with the PSFile, while they're in spec, + # they're not likely to be used + s = ending.join(strings) + self._test_readline_file_psfile(s, ending) + + if __name__ == '__main__': unittest.main() From 81076d5f29d207e219224c29310677151f7c1b2b Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 23:09:04 -0700 Subject: [PATCH 048/107] Don't copy input file for GS if not necessary, length variable name fix --- PIL/EpsImagePlugin.py | 49 ++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py index 97680fec8..58a4b7220 100644 --- a/PIL/EpsImagePlugin.py +++ b/PIL/EpsImagePlugin.py @@ -86,26 +86,32 @@ def Ghostscript(tile, size, fp, scale=1): out_fd, outfile = tempfile.mkstemp() os.close(out_fd) - in_fd, infile = tempfile.mkstemp() - os.close(in_fd) - - # ignore length and offset! - # ghostscript can read it - # copy whole file to read in ghostscript - with open(infile, 'wb') as f: - # fetch length of fp - fp.seek(0, 2) - fsize = fp.tell() - # ensure start position - # go back - fp.seek(0) - lengthfile = fsize - while lengthfile > 0: - s = fp.read(min(lengthfile, 100*1024)) - if not s: - break - length -= len(s) - f.write(s) + + infile_temp = None + if hasattr(fp, 'name') and os.path.exists(fp.name): + infile = fp.name + else: + in_fd, infile_temp = tempfile.mkstemp() + os.close(in_fd) + infile = infile_temp + + # ignore length and offset! + # ghostscript can read it + # copy whole file to read in ghostscript + with open(infile_temp, 'wb') as f: + # fetch length of fp + fp.seek(0, 2) + fsize = fp.tell() + # ensure start position + # go back + fp.seek(0) + lengthfile = fsize + while lengthfile > 0: + s = fp.read(min(lengthfile, 100*1024)) + if not s: + break + lengthfile -= len(s) + f.write(s) # Build ghostscript command command = ["gs", @@ -136,7 +142,8 @@ def Ghostscript(tile, size, fp, scale=1): finally: try: os.unlink(outfile) - os.unlink(infile) + if infile_temo: + os.unlink(infile_temp) except: pass return im From 918c77e98ac0a55586b322b5b05b46ea46ce37c6 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Sep 2014 23:33:10 -0700 Subject: [PATCH 049/107] Py3.2 fix --- Tests/test_file_eps.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 4c8d1c014..96b39b286 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -196,9 +196,9 @@ class TestFileEps(PillowTestCase): def test_readline(self): # check all the freaking line endings possible from the spec #test_string = u'something\r\nelse\n\rbaz\rbif\n' - line_endings = [u'\r\n', u'\n'] - not_working_endings = [u'\n\r', u'\r'] - strings = [u'something', u'else', u'baz', u'bif'] + line_endings = ['\r\n', '\n'] + not_working_endings = ['\n\r', '\r'] + strings = ['something', 'else', 'baz', 'bif'] for ending in line_endings: s = ending.join(strings) From afcb8980ed8b6232732b032a056f928d6aaab6fa Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 3 Sep 2014 10:07:30 +0300 Subject: [PATCH 050/107] Update CHANGES.rst [CI skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 59e709011..b8dbab630 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Fix for reading multipage TIFFs #885 + [kostrom, wiredfool] + - Correctly handle saving gray and CMYK JPEGs with quality-keep #857 [etienned] From 675014b26acea504b34c0a321d9b901bbae22bb2 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 3 Sep 2014 22:44:02 +0300 Subject: [PATCH 051/107] Public domain image of Grace Hopper: http://www.history.navy.mil/photos/images/h96000/h96919k.jpg --- Tests/images/h96919k.jpg | Bin 0 -> 106058 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/images/h96919k.jpg diff --git a/Tests/images/h96919k.jpg b/Tests/images/h96919k.jpg new file mode 100644 index 0000000000000000000000000000000000000000..096ed32c4a74f51fae44a1452d44062618ced04c GIT binary patch literal 106058 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

C@x^|{efSP5NF|CztzpK`L zB;-+9bL;FBdw1R3jh;V(jjEF`@GvqiEz51>PQ0^lQug;R;D>5z8oRc=PCrYGPeavX z4{w|05d0pUVWqu)9`UD<@BHmd(?9uFHs=ZuaY)l4mydG$*?fdg@Ze`&-fyis3Q9iZ zx?Y<((R`H@{fKjBRO6PaQ*d@e*};=nN4Ft2s;wx$0ahi3Bh8)%<#u!O-@mnfvM4-3 z$t*(5f4Q4vmR~>9-5LvEt}%Uh{EiC$lOx5`w^y8o?uGF>-q9TqQb!q8`Kjm^*Gx%` z4TVO(<}T)niXY6JxOQ>ag6mnDrC^8IR)5m-en|+LE8@sM`~^`;zPi<7%kxQ5HCg2r z5Lko{hsf6?k9j~=;3H&euYKlLn6q@%!x=nPTi% z);e2hrVM9<$)}01u*{!VwRmD;iqsy96))$#zdUrZS5o~F;PN>E7K?XFAN)LWuAfdg z*iKebca|?gv;2*xNY6UFUj_W$>rk;%Xg;jrje?O%l}}2)@U1jb)L0vyV^% z-X+{?LJ<_xRDM4Rzdx<9rfaduo{lnD0l}OwK&E~34)zarOOc8dqmv`JnMgm1Kc`s^ z`~4q*9;Fr=Bnv+=o)FW|I`5vqj9@1DzB&r}wYEZMU>~y4Zf*XL`(M9QL|ZEq&8)~F zn-`|c?pS`L1L}ul5c`~%^gq^tOIvwqs=Yov@ZJtwkGz?P#mmCPsQMIJmY3UFmKp4< zH^iOyqUQRyrAXMSUOFHegI24Q2ZzPWen;ewKKD?P{{p|H`S>@>@f~Grk>l%j+KKM< zhPB^_0wSU}nVbw6UD!`N_wc%_FD6!98TqiSVEB-WyGOxJME2XgD>d0m7lq}fwednV z&*A=Z+jZ~n^30w-C46B`q(!^HdTmChjEfG4;d1heFrQ(2IUfN`mpFCvA>*7NfTQPy zRGO^(!?4-A?ePA#(yc3{&i>jzl1@HV=$4r7)Qm4N^4Yhw{_wOdEGX;ruP}u>ljybX zzSmN`8NDCnjz7YRFxE7jZw>(sy7h)w-j$6%y^n5Lp#uW14=Oz=@U6^6x^H!HJC8|U z9^rw3E4n8?6WaX~rMZN3d6Xlz&=e$%}+~CcAvIX2Rp%gZrE{AC+x}XbIHK z-X`YWFU|u@=XToFDRH~(WG({KNx;KwoypJf%Cku8WMh)4LTg&z(}S-w-7E{DGJZim zs4R4GLoQstEct}f$$F+P+es#Hl9rVH-7?WN#Mp8=4+?Q*xN=XxQq(sbQq3oD<3!h8 zx0~MPCqe;QZ^b{?Y1vzK3P+u8QmLM6jh>D@uf(t5J#v+|!Ol!l@I>?s%-h#eedc1C^K60M<$F&%X=&G}4Ljd2|Y)`KLdc_a;7_F6`n=%}_-V*mkPgd3W z`1Hr%?`G`JhCW)|;aU{wK~Ij{cRSJ1@aq#-H2A4jX4nTY)P>(6*`w#ON9)CyGnv1M z#XP>s^GHh?5Y`>)VyPV*V=6!65ITOFMUJ)LnAQ3%Ca0@<_mn>h-qPaa`8MUm8tU`5 z;7f*yI{8d1>ylQEiD*Li-uE+^kQ9vRrDxmCH^SuL-_JSs^Ke4 zp6HG_a;vuH5cmDKcOnXJj$e4g@{oO2{O+f#gm+=)Z#qWXS^wPYzJ6AtHPc~kcSfGI z>$KC^hk`vcnM!gq3*}3l^GCKDk~SOn70jXq?eW8RO>gNv%Xre77=-2;)~dR3CCurA z7_-26xv84G8;C_V{UpPu_W%Gxv31R3Zl)ZTeI~{Cn7$MbM->8?k>@Tx484B6lczG| zSf98&eu{O$dhqbpcR+523NqI2uD01d)@yJ2LenSSFnicB{nT7$V(n>r*4Z=}a_X#! z+?6`7<3-#Vlfi`}`-@}>A?iU~RjoD0DBx^wC%4fCyf)+6$wcsV9We=WmW~4F##N;^ z+)URb&Lge-gRd>Q_>Z-}@sLvf)Dqm6?l(|k%;x&WcqWL) zyC}#|IV9rxBhaWK+uPS3H(Jf48d_}?ir>?6`0#3-32gZ> zhuiMW?q|Op3Eu?Q*=q{?mdnTIZSo|)Dcg>uMgO3D)p=p>Afc8RJ7|_DnD{=P z58|0?9|ac{>51dn6T$2cFX~&KIG%Ic=6QJOvb1#|cumRuJ(qiLQ}=M9e`bhix7b%{ ziK_thA#GGaF{@Z|rQyqKYF{)?SyrFSi|9;A;yE*9VZ5D=*{c@DVD?h3~q~z!|=B@U`LPZ4SrJPp9$=uDgEoJpCTS*)N+MY{CEj)Uz4e^y=&r zH*0#%uW>OeHH9RnB|BlDLLoW(KqyxK?YFmqC!0cUFE?pDv|n0~LJ~n&Ew*4O!dY0y zfQD>=HRlVQ>qF-(g=Z;QeDgAQh?}vgYAcWVaDLN~RgcaYW-UkBm6QEb83!u7QIaTk z0@}54OoF0q2=p*w9K_)+KYUV$aq=|V{9@44Hp`63e?*BbUsxLp+d!Ppi-2@?+Xq;` z%W<|@E$elO6VV<=@4xGw48%z1ybR|1THY-Re z@a%?~oSul1dj{fqopNpJ>1&@x!*Jo$J{ez$n1mE(t&L)zVv9ZKBk6M3)gSZt^z%Z` z91Zkzhis$ETjYXHd8FQ-ICg`zYnKifk7RVF&&mdN zE8tm$eUUQ&%djqZo}4X1&mZzt%2CK)6=lWF>!YB@chA+gmoIGlBFpd$17_F{d8`0>mq2Vj7@&+0oZ|Sz+iz`vGn6POclvhS1&2d@K zz&_cy*~J?CmZ$5Jr~vT6V~K|ahN`x1n^*ShmnbBzu=di0rBb|poRx>d*;9i;6AJu~ zTw|Y_IxU1=)0v5R;v7N#O?~^b?2G$1WAVQA`6A2nOP7z;75t!r_KgmO5gupq4DSb{jtg=7&rS0bFh!=&NpPxL+IJ zVKK?9Uhql6XD2;c6sad|`i>h9T0MK;EmaCpzQCjE-IjPxg5`5yqeKt{h^MX62UXgIUoRTz$>vgVrT-9DVR1h5Ip(dGDUgS#}ZC0_(@N`$TPq^Y(`*to| zB)7cAma)|PJ=nTlBL$Q{iSYVLW1??4bt;?CYg;twGZ|EYE+ggr=nqoRa+D-aQ$fN} zrdnpRPSbc<)oHD?&g%unw3&c2cRHNMTl>-J{chmbHO$ss1)#SnM>WMe&R+0ohaVBP z@o{UJsehDDMKth|eCmeITbab5GVZ7n6oxGzmzQ-CXM*E6!CK!nR=+P&+ggI+KzmZr zAjzmE+}QNDrZSoh&qu5oZNJ03f62KgATq@rIMHuYX66x=FJr-!&rfz3wN$pOPf!46 z1L;&%lGD8kP^oYvp7$_2-}YPn2)V(ygmDrGsHIdwyC^`_L?9y8c%R{m%1We4I8;a; zJYaxaB&Y(UiXpFL;oOZ>p*1R(hs)i7iWJZlasaYb ziw#XeOf)5AY6JiQaY7{Nl54<``yd#k5*Lb0OedrGVC6&=tiV8UQ2c#S13^j?KuQXZ zC+mn*lYkXahnLA<03?tQOul|oU&Rtm2x=61Pdd&b6Dr~d5Fzq~APm?iu3bOH3_|5; zAOe#eUq&$iBvy3*5EG0VWl*Gk_fyY0OeFIKngdF1#yB2R76md3nZ#`bwcv0sWRcp8>Fc;!r3Vq~)(g+R!sYwwv z>}jk3E^NfS0Xayi1mRY|eOToyoRivw`r^e>W~D(|sQUi^?Ls-DI|f-QdJyx5BmdLn znNC9~5U5sb?Qon`;t`mYE_|Hq#Z?g{-W^e7ko5+NX2Mk|jJ=rip#X;h($bCwMwE`+ zs8o5J-^~pul2QmV;tYH34DId$OqvcVfB+S19s$*KCwSt2e0yz7IFTu?2M{AZnPWeA zaw)p-2@RccyA+u2t$&Iua|1~12E0eoA?~JUW+Wtto*ZES1cda8!j>|8<2?-vlq8mA z6*0m*+K=lHLFw;WeQUkc0wCQbND7Cm+)2LV1<2qk>keB0Ujh z&hb?$s+eOH+G)-JnFfVaWB&A8dQU?j6igWdSwn|#9%C?^q>@+ZCW|>k0D&q*&{Nbv z_MsR+w?!x9VZkARD2Pr3pmtxvv17wH3Ft_su&S7`} zQgw+yY6+CF75r3;>%A^Wbl-(uS@S*3^49gI+ire{TFT94q#HI| z9YTD{E_9oG1G0@mTr2xKwGh)&>^+}9Y37W;5OS+FXg%UeaNn@<$~Yn9UjG2`i*~Z z{{ZfN*@oQVvu>KEZjBkO+|`yo!`=sV?6q#)%WQG>nD=;o<=*UKcF#ThMDkV5zsq~( z!q@4v@3ErOyj!@}I>U0>YiwP#=jrti%iMQ+KlLMK*uFb?S6%sA<8Ey?l?B%Wdc%S! zA@;$0SKW2E+_b)Y@{YO9x1il^YVN#dWt}j6>#hQ2&9iB*y5_Zdj!u}4Svqs#Nhz!x zc)79j8pp=_ch8bR(~{e4*4cKX2{hXw?flQP;=12^+m2oE^WmPe&N=m(+qd@pj@mR{ zYjWJwKit#!fPl+mzj@7f{5x#V;&^{YU)F7|(%HMJxo`CPr(11-c>uWgkZm!ne9gk{ z>oVt$2D{EaRoiX8=D&E-Y5Xv+wQ}o4(1i%_7skvFvEk;2j!DsHffdD0>u)2OZ+`&v z!pXbkjnd`4K$)?)WqTf`d2d-|x7q&y-QD~V$hWPVa@cjB>6_M==yjv>9Ksb?&~m=b z#w%`GIeY9q@5ht6KjW8|E^ZezduE4OxiOAlw{uHr&VA5H7hi79T-j}YS^Uor#Lw?r zgx@^d@W0PGcWi!UyLW8W*g2Rr)}N)+X`Wlk6UlX+xHzi$Aze}!bt%9qh?AuHY zC_p(%A9iq23e5tApQL}g0DwUuCoC#~7x`j+;G6)GDdF1;fSD?ekd!Bf4^#uvjUa^q zYKEb%PvU?88j47v28-x3`F}hFKwHQR2(Bq8Af-ZLypPia2Ots!dq-iU00PoSbph>6 zC0<`9zzQT3mjzzVA1?F~lz(+m%QTrEz9B9I9snS66vGh=1v6w03A zHN}Mjx0p!mN?oM4BBHhcUI?7Yao_-6$oDY=dXNxGf(e+GN%Z}$?0A|FiWLAQCBbl6 z);(czxReS?ww|c3PwRWkZ1UZki3Y3n#_i=#Bi{2a$*$MhDXY^H;I+fOM+I2YTpOBl z9DQiKImdVS4(7W_xLLU|;sZITEfZCY_oU+)O*~Uxa&gZdQ;6Mbt=@Yc2zwQeYk?#< z6n775JT6l51#3yjEOqaUo=@~5{FsTW1Bh0sN;L#AoY&`4-rl2Sj-f-lU1sp^W` zCdk!LkWM0TWP=JQY3{VlDE`>7eL_5!lob^`mV74)^gw|zB|c?1L*8ly7z0<;UI{Mg?_lES&~M{FPYNN|n71`ML+#q|TlyiT@ z9C_el-t{Ps%kb^C$Ca~M1+I2~5OHu>kG$C6f9#L_jW^wg)^vO=f4F|*`i@b&xVv@M zf-;ZPJmnLbqQ!ew-LKuX)^^>mO#N23Qc}*I%T>pk_gQQ=zj6Nnm2JIGjGm8U-MrQ2 zhwQsuuNPgYzi_$d`gZMy_20bkI&E5BuW9`j?dQ1mGCrX4SCO_~ByGb>x3k68Tm$vH zjleu>?jFAm%YVwS-iCdq_U32TYHipA7c@P{Dq^zzrHEO z^6j0v=jg6!EZrOJn+EN@Rr`RyQFBqKV0p0Cqd!k>=2m3;J{)|=E{3}y69$EI4_yqS zx%@Emua+CI?OSH!xVu5PZ36b5-ihycv8xxHF5AD6q24vXWY22b{7=jL#zh+V$=i#K z8c!6}WBc62)@a<5PEJagcfWM$7QCV5y*}#g^2XJtJH_^Z>*m-9zvj7F%m(b#AsP%b{pZ1{Ih zT#mBGKUZ;x{Qm%%Z#VSgQu7DHZAR_!8$;&1Hnf*E*4wu2%EqXY=iap2maVzA+Q+uw zYdj3ixc2`5N;hkp&Z&atU7K9@F@^078h)}r%V|1}`@Ym&qujL`tv##G+cjEuTmZV& z?*u;DqUQqf?ys|&HMI#R9w&`*&m0QVnrc*z7-qTmo)7wWY!15Z4YzGqFWqhJdvqCW zKU3iX(AQjGZOo2d^`~2Vz3%*TpNp1u-FKEBx?QmAcXax@T79Pd#<*T~Z~W6;ns;>0 zZMC=J{{WkBH*+L!oA#4-X7QljHvQ$=TSqN}wBFO3)-RIVj;*Y^i#H2;vn!eTEYEH^ z-^D*X`9oE+Yj#~8q593&Qu{4+h6i|BXKAiyH(V};CU&{ZMtA+JvCoWJ)W$KVVpWwh zlya}x`*DZanWi=PZcegNjVkL%J*n63%l8f>8`w|lEt5@y1&Gt6!r;M+*@Eq3zgPLSv;zB7j9sA*)i&Pz` z*j_X@=6_7}HXKRzOy6Vh=ePd=bsW=Qw`+F2TeO>wo%(CSc^=s~31+tL?Z*A4X6uil zW5c@b8+P@jI!(sFy=`+a(d=-e?Ywm{-*z@w*3KADw;#RMQF6p(jC(K0eDYeP01SpE zXVnY=EnJ|YVNMgK5wUr%$~vDd>T`v^w%>7XpHfFtT#Mn}$^(2)b;f5;)#Y!%zn5P#PNi0PT_ela}qDkrf@dyG`0zylgXjXNnvk?F!5P6I!pCy3& zpadrscVxIlgg}6j8#6)0ewYX)DKr2~fSwpcB_xGa36?x%5T#PGCzJvwvJ??82?ju+ zPp_&cVgp{lhG~pNAawM|Od$U3LZnF6fLGQ8076@g&kI@B7oMsD(p~U0PuqPwVKu&)!{{Re0o(GhVt^grI zWHDk2qY3zgkN9xVS^D`70nX#_6a}&%@oXHd2kC8D3XK~IFt$U?!%Hw z6%I-jGoi$N=ow}JnF~43oB}6x9YZGq6c*1202L*vFWi!qRlP7n6gadh9;8GHg8|MU z5(bkq<~cwzPJ;?5!w56XGL&@40;}jqQV?rlN6k6Hsw|O$ zNO*I`3uJm~gh>?U9k{?Th*byyq~wE~xI`nm5RwWIvIca5(JJ(}8KFT=*bbALn5iyY zc-8kVH9391pQW*cy_igd#W4BSnW8YbHMz+d zewv=j!M*?>gCp}{QH*vis##Iokwl$j-tgH3)a6;Uq`;Ucy}xEVUEeKP-aZvr8g_ro z*s?F#D2FpzN_L*6{{XcdR>(0mj?*7e`6AN!CvI)Q(rq=T)fx42;kRx}H7fNI zwy|q^q4LvmmNeo*5QbEX4tE(%KvGc&;%Q&C8_${k9`AO1(RXj!v~Inp);!Y7l6Yozl z@mawcInqsV@hqFGph`S0m8}5Ml0DU+^wK>c#M`O~%@d#fnDYVw95AQt`s1S5@_5z! zKmPz+u+`Mt9xH`OYe_EkvL*3jZ7wfa@b!sBy3=B*&x(Rb6AG}wGOW-b0HKuBC`be& zm1Gc(&QMyWU=rk0EJFI_??ZX98Sg1N<9xxOA^Bb((p+i)JwJ=8H_wWV4%)PiWwmg+ z+|J-KlRjBvpLt|k8{UV|SvD{_5C`|$V4dS5AMuitwC z-SJ_J3!?V|Q0xwPxF{U3j-{+e_bZ=PO#)&CYX-ngEX_ zg48c@00EiAnM!21#}xRH@heTNd$d|RrQ21r`E0gP+PkdG4bKs-A-ZO-M~FKA0IS#0 z5S_;asGQ{RirXjj%#FKW7EQLH6^x~_KTU?~y?jPDE4}ri*B;*^Jh%-@ig|1Ryh|hh(YW0#w0njXi5o$!@EeK=%;#Idbzf?TZR!` zCGS^i(%{oVo8>I!%k=&eplkjv`LkWOov%)8=`{IYZPyypcTnayIk{hQ;VsJBZ^_ec zGloz2<}MV&akr43-XZXDTOxr=|N(Cm%sf8dRC zblYFGZo2KF>&45u9Zl^e%Z-yss<={{Ud3>P$GC%Un#cJW@L!!0X;!xw_r6b4PmjnB2>^?dlu@wAM7hv8ia6XJyB_ z=YPX@NBN!j;~}b4E^Z=nLVjrJ-vqB)v*$~N#em(=T(@k!!M$PjU6diJH}OHM{TV!P zqoUi7ly>UdThsF$HU457r=53=x6Av5yPJvHvgq4z6K=+{NvOCVYVeYHj(xn+?*9Nc zMzHIzv2EAbE#56@yKSz_*1V3Uha+V@dlrJv>vhh4qVt1=w_UvT z@4U6?_rI1gn!N{{bo;fv^J~@Gy=V0Htm{0#eZ{t(=H_+Vx@}DSJKb4W>z1-y{{S;D zvx`l6!sR5S)bW&(Zai7lQYDuZZbc;2R8=Fy*AwJ>k+;N;Hj`G}O`u%I*t(^!vv_5A zb9>b3c>8vo`*Dl&4wre}bWhuMU0~Z8dRO;U&vCZVa_Lwc-naK%dG2q9&*^7>U9N+< z6qKu4`+o+(9-hTHG{EyM3cMZkXI}>TWp#wVoNc$A7;X zhs4{SRr5EIZF#E2j~_k2-3GO`&9~<+b&t#r4Y=z$oBlS&`LpfYo`XT7+qX;X-5T9H z?Q8Ygmv!8JZj`l^&2ug@y_x>!^&?OCsixbsUk|k#UfpWdjXsX&f1Oa9VJjuiHM_kXA zCw1ArIBj~pQ!VaB{@UlGuR7yfsk94a`h7UH;oNVD{{R-~xz!yzLFPR!wYJ>S%dEIO zN9r`U8+%V`*=chfcK7Aw&y~Zu-u^iGYs|h*+`PNA?3=E(<+s}2tsAzjG&?nsmA5Ui z<-m11)AJ(-<-e!x#ye@>cYTHIyR&Oqx7WS1VA>&^CN z+@V$PcA{M6ZT4>4Nz(~K4<^&>%NOkGY_n0Pdv4jdGcw}}wZP&GSsy)lbK^DQ^J{)x z1^0sI?s_&0&A8(1%(8UXKQ6;E=KS8j!Qw|(+C2NVYdkx8+qPJ4^*33kxGre`a(GRC zprcuJ>)ifmlyzJ(R`n2er0`PC+~3)r&vs-UmB~3-e-SLw@5OU%HeG&)OS$OpXf=!% zH2Q{?Txt1>PqOx&raRbla9!_d)ogpFqifX?U2NvHbr4;&f2VYM23)Jq?Cp;Esd;N< zg=0qegS8FUXgc;Z9d6hS#T9;>r;OQR&+9ktKi`g?i&OCLd^vY!>CG*M9Yvlid`mdv z&~lPes4?X{G2sEis;ZL{!`>2xX$l20m8vM?^6G&gq?97GMUnpiwf)%c9N`EZAWUI3 zmt+E?rAIZx-p%NTEh#w^L^Jxbr`mvs0l-X16(U?90T59F1xApD3k2p>a1%X{=!Yok zNvK64PAH4QA{P=$kTCiZnENmQqy*#pK4=}sOrdECtM#N5Zc+s5xF=*2BqVYrFdQiW zfTJl2KuLqu3`SHx!&L^0F4$5UmE(e~c+ch05Fj~*6>+GBFsRB!F%6>1X-H=&4kW6n zB%mOGa0K_ELXtoVhC-kLN>&4!2v86KRTCf@DoRiYVo^!$J*6=t>wqOC9kd^|3WA7$ z8H68S;ZFDXp+vbYFy#Qpl7g8`stO@ae0qD(2y~K|V>J*MB&5v}iVBRgh-v`Bs-G{j z01>&A3{pgaigAFWuoEmfq!zTONy$j(*#ronH;P4Vl}Qe9NM5ERG{l?Yu?M2 z06+iM3v|(SZkQS`o;2D`ADAvP zMBJ>n%=b7FxF_>Q63zSCS2FFlWw_ac!x;5>gH-)q>3;Rc7dfCX6Cx0tFpmtIZ#0w; zLWK!Bw2ZN{N}s@rc=k$eex#|q+jg&to@(1}X7MfRSgDch0;ND1JHLgo()^+Edtblq z)^@F4lv#Df0n92oeNpr1K=h%bjyxA1yBmLypW%78Yb{02iNmDIDxHgN-N_|K6xya9 zLP~PtN#kAT)=$4~#fRT<>0@&eV@}<-t)F+&xH9d#jVjU=q;QWf#V;{`qIp)~vi!Q8 zNNt-_>Q_}i4ruwE`iu5$hg-dJ+l=~NLa8e#qTZd{w<%VMa%Mgy7O*mYY17%#?^o^V z$nc5G05#0Hr5I-`?uM`zIp@02Nk4>ggz;|Oc)56&Il@kK*Y2;gnm2DHd85nQE%yHa zs%W~D57nk@q)A8so^h{=P_VdT#?nfNjTENw;j7wTrcM6U}x9|AaNuR6w8NX zeLe910B^N($ofq+z^%JteAF2Evq`sWw;O`ai%#p$e1ZaICtk?bnS+d%)=iF`5Y+Gn9F1G2jDg0So8Eq%S zt?Bw#YquP_Jv&>O!O56OdmA0waM5kQ>Z5QL8g*s4JVFAcW_d?0_@(C8TtD>wiNv1v zt?lw&5nif zJ&peWK(Tu|WxC9wVMz&28G56dY^Ckp^hVpfHw)}7d08C51*ds>vqw?*lh@^Nw&ovc z#m5e${!^K;&hb1vQ^RGREqP6vOmups)8shoBnTrYA!YmP9)tvrZH-qXGmiBWTl4nu(sT|YWJ!g z*U$d|7&c8-*Zz~`U0d~Es%aX{Ls@phFeY0Jb;jF&=Klbk?74g&%l`l}ICaP0*Iss_ z{nnd~ktSW*F^Dp*UhGm!iRODMoS=f|bcW_%ryrs-@I^_>Yr~^*Bpa$A?!#jDbIo)l4a^!Zs@5o+A)@dK6)ND7j z2SuqG*1th)x%chgyZN@-_9sJ=!|?wA_;&vQ<)h}dIisa=2UWn3KbJNJHm!@#{&Dj4 zi<(`VbGS6O3ck*uHu4k=%*S01$n3xH%VQ>|O?Kpz?cCsLQk&_@oLVlmcG^xdjd8Ai zNB;mx(7eI$r)%49A29h}e;!=5r+aSOwYj?Gp9R1N17`Ex z{KoBWn{C`RZEfw@)*9zp)V085)mmfE{Jq=l9ZlVq5w?;e5zYDg{E$a2#uAfkMn~$?`n@D?D`)zxg{{YIp zZKbyF7k*w>xz^kFJJF2tKbbeJ?_>V}seJ9`TNZX*2BFOwHj7s7UwyHhGgRT#;eW%k zm&Cmr#`p0D%6lH!Yj)J`jJ<1BY(Gb1Z^?4?)*g~=k9CgC-gUga*rIqe5<_=c4dlvP{Cw8?DkQ+Mu~HT!;k*)3Y!EcpX&ZlR1UxqC-(*WL+gkI1ug#L1gB zW;ewD02{Rne-?c2rO*wtPj=mh+Pih{)H=y^;o?2ld@Q$%+iKmc*)2CGO}>v}I!@>D zx5?XmmW`n5H(TYQ14Ee5gE!_}yom36D_t56`SBCVUSr&DYj?jUGgtu2Yf#NotZGOU z@lBu_{Jqxo#+w%Lugj%e+FUQ2XAq@wtS_b;|$(xqKU?%*cNXCjS7a z^0uwEuK9Ow)a`Fl-9?Mn{{U5O%^+lTr@!->p6jFCwQKy5wb;{K)NGgct-ucw^R=3v z2TS4~VY+*5e~D_}{pstCl1afYhTVN!FniwOwCBa&^4I)LvuyK^pS;<*>a{yw$7gZU z-+jE=dzPI2HLHxaExfl<_u0s9VXv2Rs2w!vn_ zn^&_imo?X2b3LK|02jpZE`OI8pDlc6^7C}|cKyq3e$i&o47d7LiteKtMj&<8qtfOu=+G*8CwN;;O z_Fa9h65ok;2&Cr~mNisac4PQWdqMC!$@Vn99^-#kuhbEh*VyxAppSChk;~h4$k%Ut z1HN}Vg4XQAvkRfZ%Uk~dICSWxf#>pkb^NA1&B^|6{oHh)Fh701-Ch3xCvIA1Yqsle zwW-kRGQUpuxxOP@OI@E$e$Y9(+u_{J`M&cx{?qa1*ZNhvd$!kqSGzE_)yuk8gK6^( zF9@jg>+r`*{fL|{Ug2#wRfDBk^0`wVTY#^EPK|Ij{a4s)@ctvwt@0lC=MBZ$?>gOn z(dF&9exGU3X)d<@q_v|Zn~%ER)HlR)f2i)Kz5O{^-i+4U@YBh9Ewf9axwSWUyQgs0 z>Nh=5@Sk$v>utM^a%HtP=F)#hC-oVhG;{Ab`M*i9ZrVNP;qCoigzByM`^KHtuCqtt zJ1^<8*t!L#+`7|u#PIrhZRG3mBhKHAd$!@J(vANBZqsWv)`z!SqqYd~8*`^Uu;(Al zwBF`_wcLoidWqVLwSsujY!ec#OS?j#po*kAu-etas^X^+mn!X(B^i0=yR-df4H7(MI zc=kyHBdy-HfuiddFHUCna$I&u?(Flgl{ZbN#?tTBo1yUhD|>a6)9MieTVdWKvoY;Y z52q_X1ZjS5_+RGFI{AnFPR+(>HuoiiZ(nfT)LS;1kGqo4eYe}Z_A@R^--9ep-T6tz z#ptI68cM5)%8Hn!#kbuQp}?K!HwNEl9v!>q!(Pw6Y+np~{ipL5nY%8f?i#C2O*p)+ zxzZK(?z`Rp0P4^7?fzf&EynqJ&rxOOt+#^Lw2HOEE5DS-%R0|5?>EIy{tV}Q*ugOw@AtN*2ev))7sk;C9BcDMXSG|xO%krpJb~0 zE-Vu<=Onx+Dxq^K`u_mlj&rHp_bqkjYBjp&y5pUi?c(xYTx#y33yx!&GCo_}ou${e zM*GI@n^bZPTZs-HwD4k1lW1Pnz-I0hM27Xd>-gah1? zDM=0!rzm-;at^5!GmxD-AQ0TAG7e}C3-vZ#O@Kf`=SvwZ)L{^(37iDwOcHRxrNkuE z(3)`Vh|~??%n6>+*lPg5fGb@}I4Q#za?+^eD5Na9kE(~9KnR&kD!e{-LjgRh5rGZgPpIN<=unT(`cG$CXtPp{?Oiy3X%t}v)R86k>0g(% z7TRbIy>BT;Ft-Jj%T1?u`Le*k|JT?~;pHs`klE4e>{+(Jjx2jsM`UZZw|_0&)w?Y&D{0ac*)OP96KujwHfKGTz1%dOsc zDpI_o@0UDX*H>|@7M9{<$y>m}`-lD;Yw{u*X#P@(|YyoW&4_oq`vLquI5l-KXyFYpXfN$ zePG zQLKt_vX(8jS#9^1A?eSp>@`e8Z zFPDR$b+nL?1fjz;bp1Qn>wX&$f+Pfdb)nVj^tYLFNqN?;2Li-&gvzT-eQD(KZfts6 z*GcgWrn&AjG>j9p;MO%#uRaCbYH7MPLkYaUQKfdO>sViM(+im1DIYd#b$9i;oBFL$ zK0WJ>bJ}nvL1-u4kEri!_RZf{sMA=w%bJ}z%XNT-5}L;d_><+QY&*-fb{UsPty4)h z;!b~W*^4wyTb!cTdnfe@^;}cku+_HrTN>>%?kQ)A%;W5b49C|UXV1=iyrle&R*aKe z1Ar;pC&wbt+Nc8|0@pQ*w^Tmc;@@31w%QaHm%%ma!cnIN9kN&f&YXlvJU1h!G;lK_AO%EAMbxeSOx za7<&*amMT3@>NO$!8@a}J2x&k!iza!%#LzZVt}#;2M)+0L^zTUv;qPrfuFMx$P@wf ziO;8m1PM1U)%znMA;1kaX~<7Ql?WVZUw1SiYmgFnO#Hb+0JS6mHK3XW`XC^vZ~+BQ z6~X`uiJ=n!QGRut;h5~GTIt}G9iHqXgPA7@j*<+Ji8-g72{>?1LF{ON2NxYCs*yIC zRQ}k=Xt!5s+o@&kK9^E;c8#YyS7oUN7{znCoIu23CH8$L0V*&s znoUvShNRP~Jw6s*r!){miJ?H5xMufZn)U?%08EKI{SoJF$F)c#q7o8F3|ac1S2F?R z2>~%w;|z60=JVuRLCR`oMrkY#rw|)5WDge;BpvCbQ{u3xB0J^ zseWfFHgj25ocKc*-2^O&P=aL$k22gMcbsL?cu(h)MZ7|I(xH_5615NoPg`$Xw)TTG zJtRy{vxogwe7+-AnMNdvC(#}p*94sKqM(V(2~r)m+JUz~a!i)=s1r`eGa8fLdj_n2 zXl>67-DwYV2^q01aRg`2-RjL7FO&TBy7@x=vu5+}Z0{wSy#R6qcY6Jt(q^HOdmY_( z`H`nO?wPrAs+RQ?sWmc5dpTizW;>y+1yP_Pt^i3Q6SoN`86?vru1PfOk@X(Suims< z{of|}w^%jL)Un#VlW{G!E$cMlxgVp{*~^o~xBX6z^M9LB_>u6(W-R@Gmp@Ik?wOi( z+kMSNy*`oFt`~lLJXbZAn%A*%+v#`wEb+&;UpV=Tdv1xlp1$U%{W+czXNmfnzN80zD6c2P9WT=>91XWE9C12ernO$4Wkmhky z-lK&l@(}IJKQWRm2PrgACWU*`ga~Sg1tGz4=`$Ff1!_-ehJfl?O+nOYG}@Mu?;6t{ zNC8e@3y<-|sy(kl&<;`I*ui$mx3Byml}SO~7)D4krbI6!_h11_dZ#doqvlC{*a!$zARt0arZ~&^Va(M^ zP$(q;m`r%(fCvPtO+h>$0a95|DNsoqWf8fiRR9=za*|46gw*>f1O}=g2naHzWSB$*5P(n)T(J3O zfC<4Q(>AmNAx}**!9*#QNGeoPR7faH@e@QeP8AtqHOfPV9fq6{VSrhb6dgoJl$H|< z3?_|fQYaM6NhR#S?yAhSDu!nXcEbX#AXJ$EWLJTo_n;XX)ym-FMFLbBqI;;=YfK}> zS{p?U3F2BG!lD(b^vyi9Q-&Q!q(!!xJWIocr2`-8Tl`RlfB(?p+LF-XL8Sz%6e-uEj0An{|(u1pCP>DlV#6c-aU`ka8LKLZ> zMM}b2G$bezHJ>io<%qtY}r zj8Xx6rsqrS^fohm7k1=u?4;`Yiz6i%x3;Fgqu+O3w{knKk5XBydyDSeGY=+YI8o8L z?p}S;d8=Y}*}hotb!`FGuQF{eZ8H8ZW;xx!M2{3Bi5NmOqj=&u6O3DS++3Aa8l@T| z8MVvE%UE)~rD)(og+@|3qqc81ZeH?T;8N|!Y04JS$13Iv?|0iANrVEV(txR<5V&=4U47a$>^nN)!tJFc^Qm>lJhQ`ti!F^bSi2&(1j2ntk` z`LjZjOGCbVYPE@#%1uIy#0e{crwk$kB@a>)#-oDsi02HT76yPPS)P5dC`yzVV*nQl zR1ia^p+9+m0^(fk&OoY3L|;@XQH6fEm`~)ea6kerQ|K^&fJm&CAu6Pq9#h5!0#%5F zj$WX>zr_F$t!ik$R7!e&h=2tdsD^-WOnLtRwFfJSp`y^4d)<%-STaS&gb>;E*9y<( z`d~EDKonPj2Nl8rP?$<^0;ou1E+m|N5Cq7>imH6e z3<<#(m+XkN^)D_F5_O$>c|<6jY1s$~(h$^QDG*jwz+zx1$JGP_iJ6=*7$5~sB15vU zNCYYpCH=6HN>XK0)eqG*t7JzGKSVG(Zon5}+mA>lzzZO1c=w|sRH;M_XcJiu5sLD& z%e=p%GmyB}<0jm24eX50P$ZQgj3j*-zZ7?^I@^Q$G4mYDi?=U%hyrq-WVlFut`P%B z8I=jC$A&P#c7ZX^)eg`Dkj+StD>L;@CsGtE%fu>)0mL3-wipmVZUo6CKEnl6s;aF{ zDd~gAPKZE6362v;U{>G&5*+cDysdyi3KEi^ubf!w$dFA|L3jc3>VjLD6!erS`%2|J zAOf|`*eVGmB6FY51yGkrrv#`%kXq3Bk^<8cSxmzg@ytZZuP!Zs3d2B?LZL!?Xsho) zMJNSOBwCIry@`O4Od&|_ks<~reUJd4wOU7a=*CL{5G2r~qRBZ_&1BP5ktY#^FBbp; z<~c?Q>&6(UC<6m2Dg^;JRVf4^2&j_%jZyT$0D+V%K$`R8I4vN6IY|;geBuFg36Eu{^q6#BNvPAI-Db5&%X$e#Lb0NPU;`=2yf~~7 z9Ed^$oYF+&&H;|l;ndY=21{Cu4ik%QAM0`Oh|H%OmYbPTaEe;sKtt2s5}&LNe|9Xi zKdcA*Bs^EexAnmOut)#V0I)z$zv6EvIdBvz*-2~Jge{^oH-IYN+4Aazc_m4ZB~n!a zUrbqHO~˧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 Mq)P4j{^LLY*>-kbp#T5? literal 0 HcmV?d00001 From 2798589a24570723a7bbbbd2ccd1dd6f9c5a926f Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 3 Sep 2014 22:58:03 +0300 Subject: [PATCH 052/107] Crop, resize and rename --- Tests/images/h96919k.jpg | Bin 106058 -> 0 bytes tests/images/hopper.jpg | Bin 0 -> 6412 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Tests/images/h96919k.jpg create mode 100644 tests/images/hopper.jpg diff --git a/Tests/images/h96919k.jpg b/Tests/images/h96919k.jpg deleted file mode 100644 index 096ed32c4a74f51fae44a1452d44062618ced04c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106058 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

C@x^|{efSP5NF|CztzpK`L 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˧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 Mq)P4j{^LLY*>-kbp#T5? diff --git a/tests/images/hopper.jpg b/tests/images/hopper.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82ab5b96773001d8810a28ceb487ab3069dc6fa9 GIT binary patch literal 6412 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 literal 0 HcmV?d00001 From c3d3789da7c43f5d248ac0b246178137718d420c Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 4 Sep 2014 08:00:41 +0300 Subject: [PATCH 053/107] Created with ImageMagick: convert hopper.jpg hopper.ppm --- tests/images/hopper.ppm | Bin 0 -> 49205 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/images/hopper.ppm diff --git a/tests/images/hopper.ppm b/tests/images/hopper.ppm new file mode 100644 index 0000000000000000000000000000000000000000..346e423920684a82fda2d8b2f1b215a1bc33e3a2 GIT binary patch literal 49205 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 oG?3* Date: Thu, 4 Sep 2014 08:03:55 +0300 Subject: [PATCH 054/107] Add hopper() to eventually replace lena() --- Tests/helper.py | 20 ++++++++++++++++++++ Tests/test_image.py | 12 ++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index 3f7913b11..637e77f9c 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -180,6 +180,26 @@ def tostring(im, format, **options): return out.getvalue() +def hopper(mode="RGB", cache={}): + from PIL import Image + im = None + # FIXME: Implement caching to reduce reading from disk but so an original + # copy is returned each time and the cached image isn't modified by tests + # (for fast, isolated, repeatable tests). + # im = cache.get(mode) + if im is None: + if mode == "RGB": + im = Image.open("Tests/images/hopper.ppm") + elif mode == "F": + im = lena("L").convert(mode) + elif mode[:4] == "I;16": + im = lena("I").convert(mode) + else: + im = lena("RGB").convert(mode) + # cache[mode] = im + return im + + def lena(mode="RGB", cache={}): from PIL import Image im = None diff --git a/Tests/test_image.py b/Tests/test_image.py index 46669db4b..1c60cca17 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, lena +from helper import unittest, PillowTestCase, hopper from PIL import Image import sys @@ -58,7 +58,7 @@ class TestImage(PillowTestCase): def test_expand_x(self): # Arrange - im = lena() + im = hopper() orig_size = im.size xmargin = 5 @@ -71,7 +71,7 @@ class TestImage(PillowTestCase): def test_expand_xy(self): # Arrange - im = lena() + im = hopper() orig_size = im.size xmargin = 5 ymargin = 3 @@ -85,7 +85,7 @@ class TestImage(PillowTestCase): def test_getbands(self): # Arrange - im = lena() + im = hopper() # Act bands = im.getbands() @@ -95,7 +95,7 @@ class TestImage(PillowTestCase): def test_getbbox(self): # Arrange - im = lena() + im = hopper() # Act bbox = im.getbbox() @@ -185,7 +185,7 @@ class TestImage(PillowTestCase): def test_effect_spread(self): # Arrange - im = lena() + im = hopper() distance = 10 # Act From add81ac00ad4bd0b8a31a8c4f59272a1444d8165 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 4 Sep 2014 08:17:04 +0300 Subject: [PATCH 055/107] Created with ImageMagick: convert hopper.jpg hopper.gif --- tests/images/hopper.gif | Bin 0 -> 15305 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/images/hopper.gif diff --git a/tests/images/hopper.gif b/tests/images/hopper.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e7f5ade8b7d3c084a54e6618bb969567349caf5 GIT binary patch literal 15305 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 Date: Thu, 4 Sep 2014 08:26:50 +0300 Subject: [PATCH 056/107] Fix path --- {tests => Tests}/images/hopper.jpg | Bin {tests => Tests}/images/hopper.ppm | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename {tests => Tests}/images/hopper.jpg (100%) rename {tests => Tests}/images/hopper.ppm (100%) diff --git a/tests/images/hopper.jpg b/Tests/images/hopper.jpg similarity index 100% rename from tests/images/hopper.jpg rename to Tests/images/hopper.jpg diff --git a/tests/images/hopper.ppm b/Tests/images/hopper.ppm similarity index 100% rename from tests/images/hopper.ppm rename to Tests/images/hopper.ppm From c1c77c4a635a874d057cda4cbc5a80c8b1daff54 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 4 Sep 2014 08:42:12 +0300 Subject: [PATCH 057/107] Fix path --- {tests => Tests}/images/hopper.gif | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename {tests => Tests}/images/hopper.gif (100%) diff --git a/tests/images/hopper.gif b/Tests/images/hopper.gif similarity index 100% rename from tests/images/hopper.gif rename to Tests/images/hopper.gif From b248dcd0195abd93336c527da4543e9136c83098 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 4 Sep 2014 08:42:46 +0300 Subject: [PATCH 058/107] Image created by Pillow via test_effect_spread() --- Tests/images/effect_spread.png | Bin 43292 -> 40903 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Tests/images/effect_spread.png b/Tests/images/effect_spread.png index df7cfa4745a9acdf92a4baf1727c731741c3521d..01016355ae0403c2266226f1affb2ff042f031a4 100644 GIT binary patch literal 40903 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 From d7f7965aa2960ab7247619235e45e76ca990bf87 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 4 Sep 2014 08:44:46 +0300 Subject: [PATCH 059/107] Replace lena.gif with hopper.gif --- Tests/images/lena.gif | Bin 16336 -> 0 bytes Tests/test_file_gif.py | 17 +++++++++-------- Tests/test_image_load.py | 10 +++++----- Tests/test_shell_injection.py | 12 ++++++------ selftest.py | 10 +++++----- 5 files changed, 25 insertions(+), 24 deletions(-) delete mode 100644 Tests/images/lena.gif diff --git a/Tests/images/lena.gif b/Tests/images/lena.gif deleted file mode 100644 index 64a9b93c89b6a22d4760777b34790a57344da9cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16336 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 JABO>={vU+{Ez$r0 diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index bd4a6e76c..d285ec2ae 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, lena, netpbm_available +from helper import unittest, PillowTestCase, hopper, netpbm_available from PIL import Image from PIL import GifImagePlugin @@ -6,8 +6,9 @@ from PIL import GifImagePlugin codecs = dir(Image.core) # sample gif stream -file = "Tests/images/lena.gif" -with open(file, "rb") as f: +TEST_GIF = "Tests/images/hopper.gif" + +with open(TEST_GIF, "rb") as f: data = f.read() @@ -18,7 +19,7 @@ class TestFileGif(PillowTestCase): self.skipTest("gif support not available") # can this happen? def test_sanity(self): - im = Image.open(file) + im = Image.open(TEST_GIF) im.load() self.assertEqual(im.mode, "P") self.assertEqual(im.size, (128, 128)) @@ -45,7 +46,7 @@ class TestFileGif(PillowTestCase): def test_roundtrip(self): out = self.tempfile('temp.gif') - im = lena() + im = hopper() im.save(out) reread = Image.open(out) @@ -54,17 +55,17 @@ class TestFileGif(PillowTestCase): def test_roundtrip2(self): # see https://github.com/python-pillow/Pillow/issues/403 out = self.tempfile('temp.gif') - im = Image.open('Tests/images/lena.gif') + im = Image.open(TEST_GIF) im2 = im.copy() im2.save(out) reread = Image.open(out) - self.assert_image_similar(reread.convert('RGB'), lena(), 50) + self.assert_image_similar(reread.convert('RGB'), hopper(), 50) def test_palette_handling(self): # see https://github.com/python-pillow/Pillow/issues/513 - im = Image.open('Tests/images/lena.gif') + im = Image.open(TEST_GIF) im = im.convert('RGB') im = im.resize((100, 100), Image.ANTIALIAS) diff --git a/Tests/test_image_load.py b/Tests/test_image_load.py index 786cd6ad8..b1fc73182 100644 --- a/Tests/test_image_load.py +++ b/Tests/test_image_load.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, lena +from helper import unittest, PillowTestCase, hopper from PIL import Image @@ -9,21 +9,21 @@ class TestImageLoad(PillowTestCase): def test_sanity(self): - im = lena() + im = hopper() pix = im.load() - self.assertEqual(pix[0, 0], (223, 162, 133)) + self.assertEqual(pix[0, 0], (20, 20, 70)) def test_close(self): - im = Image.open("Tests/images/lena.gif") + im = Image.open("Tests/images/hopper.gif") im.close() self.assertRaises(ValueError, lambda: im.load()) self.assertRaises(ValueError, lambda: im.getpixel((0, 0))) def test_contextmanager(self): fn = None - with Image.open("Tests/images/lena.gif") as im: + with Image.open("Tests/images/hopper.gif") as im: fn = im.fp.fileno() os.fstat(fn) diff --git a/Tests/test_shell_injection.py b/Tests/test_shell_injection.py index ef80bfc98..d6d08c2d4 100644 --- a/Tests/test_shell_injection.py +++ b/Tests/test_shell_injection.py @@ -6,8 +6,8 @@ import shutil from PIL import Image, JpegImagePlugin, GifImagePlugin -test_jpg = "Tests/images/lena.jpg" -test_gif = "Tests/images/lena.gif" +TEST_JPG = "Tests/images/hopper.jpg" +TEST_GIF = "Tests/images/hopper.gif" test_filenames = ( "temp_';", @@ -31,24 +31,24 @@ class TestShellInjection(PillowTestCase): def test_load_djpeg_filename(self): for filename in test_filenames: src_file = self.tempfile(filename) - shutil.copy(test_jpg, src_file) + shutil.copy(TEST_JPG, src_file) im = Image.open(src_file) im.load_djpeg() @unittest.skipUnless(cjpeg_available(), "cjpeg not available") def test_save_cjpeg_filename(self): - im = Image.open(test_jpg) + im = Image.open(TEST_JPG) self.assert_save_filename_check(im, JpegImagePlugin._save_cjpeg) @unittest.skipUnless(netpbm_available(), "netpbm not available") def test_save_netpbm_filename_bmp_mode(self): - im = Image.open(test_gif).convert("RGB") + im = Image.open(TEST_GIF).convert("RGB") self.assert_save_filename_check(im, GifImagePlugin._save_netpbm) @unittest.skipUnless(netpbm_available(), "netpbm not available") def test_save_netpbm_filename_l_mode(self): - im = Image.open(test_gif).convert("L") + im = Image.open(TEST_GIF).convert("L") self.assert_save_filename_check(im, GifImagePlugin._save_netpbm) diff --git a/selftest.py b/selftest.py index 29af34ad2..85add0909 100644 --- a/selftest.py +++ b/selftest.py @@ -49,13 +49,13 @@ def testimage(): Or open existing files: - >>> im = Image.open(os.path.join(ROOT, "Tests/images/lena.gif")) + >>> im = Image.open(os.path.join(ROOT, "Tests/images/hopper.gif")) >>> _info(im) ('GIF', 'P', (128, 128)) - >>> _info(Image.open(os.path.join(ROOT, "Tests/images/lena.ppm"))) + >>> _info(Image.open(os.path.join(ROOT, "Tests/images/hopper.ppm"))) ('PPM', 'RGB', (128, 128)) >>> try: - ... _info(Image.open(os.path.join(ROOT, "Tests/images/lena.jpg"))) + ... _info(Image.open(os.path.join(ROOT, "Tests/images/hopper.jpg"))) ... except IOError as v: ... print(v) ('JPEG', 'RGB', (128, 128)) @@ -63,7 +63,7 @@ def testimage(): PIL doesn't actually load the image data until it's needed, or you call the "load" method: - >>> im = Image.open(os.path.join(ROOT, "Tests/images/lena.ppm")) + >>> im = Image.open(os.path.join(ROOT, "Tests/images/hopper.ppm")) >>> print(im.im) # internal image attribute None >>> a = im.load() @@ -73,7 +73,7 @@ def testimage(): You can apply many different operations on images. Most operations return a new image: - >>> im = Image.open(os.path.join(ROOT, "Tests/images/lena.ppm")) + >>> im = Image.open(os.path.join(ROOT, "Tests/images/hopper.ppm")) >>> _info(im.convert("L")) (None, 'L', (128, 128)) >>> _info(im.copy()) From 8f2d707a7a5a5c3b4b09ea61b5ddf2f79315a6eb Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 09:40:14 +0300 Subject: [PATCH 060/107] Update epsilona for hopper --- Tests/test_image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 1c60cca17..26e45b10a 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -194,7 +194,7 @@ class TestImage(PillowTestCase): # Assert self.assertEqual(im.size, (128, 128)) im3 = Image.open('Tests/images/effect_spread.png') - self.assert_image_similar(im2, im3, 80) + self.assert_image_similar(im2, im3, 110) if __name__ == '__main__': unittest.main() From 78e7fe025eb841754d673323addb572f8d3eb7b3 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 09:42:31 +0300 Subject: [PATCH 061/107] Fix constant name --- Tests/test_file_gif.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index d285ec2ae..72c9d9db4 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -101,7 +101,7 @@ class TestFileGif(PillowTestCase): @unittest.skipUnless(netpbm_available(), "netpbm not available") def test_save_netpbm_bmp_mode(self): - img = Image.open(file).convert("RGB") + img = Image.open(TEST_GIF).convert("RGB") tempfile = self.tempfile("temp.gif") GifImagePlugin._save_netpbm(img, 0, tempfile) @@ -109,7 +109,7 @@ class TestFileGif(PillowTestCase): @unittest.skipUnless(netpbm_available(), "netpbm not available") def test_save_netpbm_l_mode(self): - img = Image.open(file).convert("L") + img = Image.open(TEST_GIF).convert("L") tempfile = self.tempfile("temp.gif") GifImagePlugin._save_netpbm(img, 0, tempfile) From 699b6625113f6f2220133520aa8eadb34691a4db Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 09:50:47 +0300 Subject: [PATCH 062/107] Update selftest.py for hopper --- selftest.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/selftest.py b/selftest.py index 85add0909..b13dfec28 100644 --- a/selftest.py +++ b/selftest.py @@ -89,9 +89,9 @@ def testimage(): >>> len(im.getdata()) 16384 >>> im.getextrema() - ((61, 255), (26, 234), (44, 223)) + ((0, 255), (0, 255), (0, 255)) >>> im.getpixel((0, 0)) - (223, 162, 133) + (20, 20, 70) >>> len(im.getprojection()) 2 >>> len(im.histogram()) From 5b01333f62574b81b651686bc26019d3dc778595 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 10:24:13 +0300 Subject: [PATCH 063/107] Created with ImageMagick then renamed: convert hopper.ppm -monochrome hopper.sgi --- Tests/images/hopper.bw | Bin 0 -> 7864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/images/hopper.bw diff --git a/Tests/images/hopper.bw b/Tests/images/hopper.bw new file mode 100644 index 0000000000000000000000000000000000000000..c9dabf64a5ac21508032138fdbd6a6427bc750ec GIT binary patch literal 7864 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 BY8n6l literal 0 HcmV?d00001 From 513422323b30345282d77fda61c327ad4afd7404 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 10:29:39 +0300 Subject: [PATCH 064/107] Created with ImageMagick then renamed: convert hopper.ppm hopper.sgi --- Tests/images/hopper.rgb | Bin 0 -> 52077 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/images/hopper.rgb diff --git a/Tests/images/hopper.rgb b/Tests/images/hopper.rgb new file mode 100644 index 0000000000000000000000000000000000000000..a72fc5b1514d6fbb1a11800cdbecdcaf10833c86 GIT binary patch literal 52077 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℞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 UXPQh9zY&8g)WjC8#oV{~H#!+T*8l(j literal 0 HcmV?d00001 From b451c6f4103020c8fbf5703a59cb8c6f8e994624 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 10:31:16 +0300 Subject: [PATCH 065/107] Replace lena.rgb and lena.bw with hopper --- Tests/images/lena.bw | Bin 8507 -> 0 bytes Tests/images/lena.rgb | Bin 54179 -> 0 bytes Tests/test_file_sgi.py | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 Tests/images/lena.bw delete mode 100644 Tests/images/lena.rgb diff --git a/Tests/images/lena.bw b/Tests/images/lena.bw deleted file mode 100644 index e2981ef5c3174ad1f8dccec0ec30944cdec596ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8507 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 H((eBO+M#Kh diff --git a/Tests/test_file_sgi.py b/Tests/test_file_sgi.py index 84b184b63..d49086c51 100644 --- a/Tests/test_file_sgi.py +++ b/Tests/test_file_sgi.py @@ -8,8 +8,8 @@ class TestFileSgi(PillowTestCase): def test_rgb(self): # Arrange # Created with ImageMagick then renamed: - # convert lena.ppm lena.sgi - test_file = "Tests/images/lena.rgb" + # convert hopper.ppm hopper.sgi + test_file = "Tests/images/hopper.rgb" # Act / Assert self.assertRaises(ValueError, lambda: Image.open(test_file)) @@ -17,8 +17,8 @@ class TestFileSgi(PillowTestCase): def test_l(self): # Arrange # Created with ImageMagick then renamed: - # convert lena.ppm -monochrome lena.sgi - test_file = "Tests/images/lena.bw" + # convert hopper.ppm -monochrome hopper.sgi + test_file = "Tests/images/hopper.bw" # Act / Assert self.assertRaises(ValueError, lambda: Image.open(test_file)) From e524bcc327d35508bb3e08d55392918817d57c0f Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 12:09:15 +0300 Subject: [PATCH 066/107] Created with ImageMagick: convert hopper.jpg hopper.png --- Tests/images/hopper.png | Bin 0 -> 30605 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/images/hopper.png diff --git a/Tests/images/hopper.png b/Tests/images/hopper.png new file mode 100644 index 0000000000000000000000000000000000000000..60ac671a26f801acf00e29f9f42561bd4a2a55e2 GIT binary patch literal 30605 zcmV)>K!d-DP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 0 HcmV?d00001 From e1c33d319003f009554d1319e1e94163b9b83a1b Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 12:09:52 +0300 Subject: [PATCH 067/107] Replace lena with hopper --- Tests/test_file_png.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 8ef166347..32dc10cd1 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, lena +from helper import unittest, PillowTestCase, hopper from io import BytesIO @@ -10,8 +10,8 @@ codecs = dir(Image.core) # sample png stream -file = "Tests/images/lena.png" -data = open(file, "rb").read() +TEST_PNG_FILE = "Tests/images/hopper.png" +TEST_DATA = open(TEST_PNG_FILE, "rb").read() # stuff to create inline PNG images @@ -58,7 +58,7 @@ class TestFilePng(PillowTestCase): file = self.tempfile("temp.png") - lena("RGB").save(file) + hopper("RGB").save(file) im = Image.open(file) im.load() @@ -66,19 +66,19 @@ class TestFilePng(PillowTestCase): self.assertEqual(im.size, (128, 128)) self.assertEqual(im.format, "PNG") - lena("1").save(file) + hopper("1").save(file) im = Image.open(file) - lena("L").save(file) + hopper("L").save(file) im = Image.open(file) - lena("P").save(file) + hopper("P").save(file) im = Image.open(file) - lena("RGB").save(file) + hopper("RGB").save(file) im = Image.open(file) - lena("I").save(file) + hopper("I").save(file) im = Image.open(file) def test_broken(self): @@ -237,17 +237,17 @@ class TestFilePng(PillowTestCase): def test_load_verify(self): # Check open/load/verify exception (@PIL150) - im = Image.open("Tests/images/lena.png") + im = Image.open(TEST_PNG_FILE) im.verify() - im = Image.open("Tests/images/lena.png") + im = Image.open(TEST_PNG_FILE) im.load() self.assertRaises(RuntimeError, lambda: im.verify()) def test_roundtrip_dpi(self): # Check dpi roundtripping - im = Image.open(file) + im = Image.open(TEST_PNG_FILE) im = roundtrip(im, dpi=(100, 100)) self.assertEqual(im.info["dpi"], (100, 100)) @@ -255,7 +255,7 @@ class TestFilePng(PillowTestCase): def test_roundtrip_text(self): # Check text roundtripping - im = Image.open(file) + im = Image.open(TEST_PNG_FILE) info = PngImagePlugin.PngInfo() info.add_text("TXT", "VALUE") @@ -338,7 +338,7 @@ class TestFilePng(PillowTestCase): def test_trns_p(self): # Check writing a transparency of 0, issue #528 - im = lena('P') + im = hopper('P') im.info['transparency'] = 0 f = self.tempfile("temp.png") @@ -360,7 +360,7 @@ class TestFilePng(PillowTestCase): def test_roundtrip_icc_profile(self): # check that we can roundtrip the icc profile - im = lena('RGB') + im = hopper('RGB') jpeg_image = Image.open('Tests/images/flower2.jpg') expected_icc = jpeg_image.info['icc_profile'] From 06a2378f52d627f116a925d1589dee6f0178a223 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 12:13:43 +0300 Subject: [PATCH 068/107] Remove lena.png --- Tests/images/lena.png | Bin 37723 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Tests/images/lena.png diff --git a/Tests/images/lena.png b/Tests/images/lena.png deleted file mode 100644 index 192875931549c50155f381c44ef5c6a18a0f7fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37723 zcmXt9WmuFA*Id%2mkvQ1>F$mN>2B!`>F$+Wx_jwv>F#b71?d(M5$R?>e0;wjEd1N+ zKKGoNIp++~>Z)(B(8@wyA zC?A8ae11DAz14G|Gq}MU1)g)yGHg9#l#AI#AhV2+06yTU&PPfpVDb2Awg~N=!qBrfWtjg z8dXOmF~Q>rlG`AaoCo+4Az~5#}tv1Wy=d z>XmFA0hOTKM`UV9bu}5?>M8QiMv2*i7PI@NvAz>QY~_VY!=-e(NvG8e>&{Jy1HU%3 z<#IZ8I}Izhy$kg(OTnVz#_aPPluN5etM>xW?-ULPrwl40NrAvM4*br=A3!+C4{+P) zEfp?Yyk5cPRpVDSd_hMt0*U^7RKsXgZWuFin7Ihw$%4S(Jv^ay{fwQh!qB<#xoaQ4 zmt=)J_yCmRSgLix(!8`vBa{h59wZtAtK9G;goW_va0Lhvti{YTL~@EMt5aI01#3;% zieYcju&#Ac*m>GU3oL|T77ZUgacijAh9+zn-uD@eyS1;Lyf{2`6?~PLx!^@Iz3%;R z*Q31fg?o>Rl`7c+KD+)ntd@HqyRh4*Ez#f8*IS@Qd0_hAgIQ@$DLQz|bXJQN%6vh+O30Yq60a-RX-seQFXOllPfB#^9J7N`s1wnxKl zSvP#U)Y{5FLtT}|jR(U0%!g%(lOy}{_=azOy2)&nQ>8Uy{65NAyfx>IL4sgFPGJeVf{dp2_ zqxOAIg>38yJ+UpH8ts7)SB5^_R8Q|i0g|*Nr3yrHTB*px#OZYDniF1rh;hiY5be4& ziZ-lHTQAf+T%;C-5(y*{RI5l}jY|#;l{NHFjIi18AfSs0*o9%O-&FdeN;@e9h_4K0 z$d&s1p0!1(^{wNspz4ARNfYKwN?F>5p`wabt^y3>jtD8?nIv%`dPx_#HwruI3kEez`f*sP;ob%9C#}sc*-> zsc1RjLykk~A0f3h4el$ER>EazkU?U2s=@fGm{u0fn{@wCfKn6*&iUauz!J666S*}9X04oMJ z2P|tk%$8lRnl7WO`p$kFx^2~$9Xs(%}LmqS-8i{q4~$gPCGLS%Q}~GCn6pnrXmIIk!=Ao3_4%qJL{Gy z;#D``TL2$~oYFbNaT5e2YFiFht`Fc8u)#iKcQnJLL2<1OoiZZBeK&&Gff2fp73(kc zY+<<>+>2EqoSy}#8a52cNh1V@)deT(cil;ox5{rRU!7zc@(F$KJxhtP$tli?X|6cP zTx!2gT))$6u82Ka?Vhg5op0Eu{EIK%3?bF$1_B4$e?yJkBR`8GbJN$U85T?Bv{&X@82CFd9vW>v8vm2us(>^Il*ZkQzW(z_ zU3)fwnhSA_HjpBMMHfnvydVltKyS)2FttH7EJX@U!}U9)jgGgA{(zi@H!}Ufe$dM@ zXg&G# zo5N`?dF0=ND`zS>4@+XoRLu)YVs;q6_`(0zzXDHn zg@MC+($QRboz?h~lW|Tl4mT5`m``;G2od+Ki;ovnKNl{1>)blmz~Cjuq!bqZ&g2(W zEJyeGbld{&o=W%4y(7XbgYO*Sk}2o+XqyGDqh?VR!>6}5r+n>T!}qtJd2^5-c;P)g zeF#Wag}?C@rHi>k>4FjdzEb7PBSj<)P*`eq^Liaok7#7*37kq6bkVR?b|LNMG@l(U z(MCvVF3o*w;gHVsI+heN*{;q=mcH}|Q;uQyw4O9klV2Eff(@K%u{Wfu5@1^G|n28$6x_pDU`TiJ&c*dNh{JCN2`< z)J2Q#9zoZxIInwp>iD}Gc6WZZ6|)wYWF*d?)KGMHW)}ILEaoQRraJfkQ!{-PB_s_@ z*kpjq(vB`lO`#r6=o6fh=ErEP{OK2*)v)#T-%2~%PQ)WH87dj>Yz0=T>QK)CkGXQB zNk(%R%IQ!({6_%HErl8w#EYC7_sU~k3Nf{QKpSj5G9)R8AV>{$#RkPHRHywEPM#fo z*uE-vT0M5?HK@ahYRl$QN4@Mjt`YWw8ZTmcKWa$JGfAnv8m-zV$-+-Mb8;0bI-!zc zQ8K+7-DI>F(XRX9F1YRdQ{(#nWV#^Y#rE>AyQkl$xAwPJ_Pq*XCp;1vrW_3?-Ns8s zY}I$n5i}d)19;O6fOwlr$i}`(v9h}$TJURj6NaV z)oy~Ciqa0hNJwempW18A8-HW+!&BR-<=YQri15(qe3zTJ?%LSV(`&MhoBH#hBP8J1 z=TYf+>ZC#DFi$U{eHO%A{u6D>1?vDbE6g1u?E#X~DT*nT zOkn2JiWwvv<;3(_@T_?`gwuHz-21y=lX#lQ>XpE1RD}~%)TIkV-3G~-d5RpBjGmAT z`47@Y`h$wYlAyfoS?3%(OldZ#1eNcE?4K=oNa&Un^EXW;Yzxbh+;=u(!#0Gyb54=h z8$H+Dj!x(?1Y=vhl&Fc&{o(-vw-V6YYsI;!Y^+C%J<2Xy()hD2AEU|}HA-#*sPQhD}im=Wh%I!=l4 zTi%kgYK7PRkXMq#p{t})NqFY4L&Y;A?bR)WCWSMTzMj2LSwb~5u7czab>>dwQ5(*L z@z6`gXm3nD2C2C(Tywp$rD+i7a*7(_DdhKIRZ$t!sbDj9YcoPS_t5Sa6G+OqHn3C= zO3e9L*4k+01zx1m97VK0*Yl@>?J%zZuOR*e%6kf0@qPzXg~GU(1#AH9Xvp;*nzH`P zlf+GfNVpDph!A=jDTMWMq>vq!ayD6;rs=red(z%6fLdzq;RFA3bMbI?XH%3LJ8kn$ z)lcw6%{|jhsyd!RH78haDYssk z2D~1~Z`m_9&d)_7LE4W^tnI-)!EnKJ5=)f=I}MBnN+}==M8fcHN z6KGOS16Aq4y#DRG_8VuuVZ438{>S}hu32@Xz?A=nuL>=m@gF zVokXs4M3Py4V_tO38!qqLBMs#qi})5rUZ8Pqs=wY%Z!yC3qR7H=;rsIFKyk^my6*x zMuS5EE*HF&J2?Nz@wd(dd?^s%V}14S&YmkWeo2eruZmU=0EA8KL)1VBEr<+*(&O90 z!W%C_gq@(V;qh@}W4#&f_~}Lo%KM|AoldVnYzCa=t_HE-0YoZR@=jne-YAW@HNT|S zf>Rr04x$r=sGp{<%sw^q;~keQE&=rcx%7{&+3D${hJwdK-|VRFYcABe$qyj2{aP=e znN{}Kc_Zng}@g6WphJg`^+Kly8hT8JxI%rnK5n$%(@(;U4HTKC} zZaosm1w&53!PgtNqU6E3FG-pudMNrr?zvPuovtzrWBDVX%)72rlX`sLVQ?4+7g~pn z;pcytQO@dCMbrRA+J0Z7!ib%gYx$U^ucc2`pv6)!`uWYrZ-ry17+4>Exo;WSuz%^;i6Ba{6B~f}F{1i_B$7+{ILAgAyjl)xtUaNAU~JOYbm5e)YX2nKyYhdd?@C z5*hm)uR22IS*$_H9$#{%+(%{w<0et0$GhCh3}zf6)n{Y;+(k@MCz%+ZnPCaxMk z7W2d-l!9b4Lq!HF{tzM;#jKawr}Cc-pV{aHNLK&soj)fBOf^~A@ZjU(a`DiRQKFvYIdChz z8GLcVI##s#R`W0-F49EwwtgK~C^=ltcwztcbo7=!;JVi+ z>dyFqo{oUbm*saEnoU__r_b8rG=m%$j*4fw{%*;OZ4x$*NuGoxO^2vSN3SbK-;#x# zow7Z7!PG@eA0oYoI|r?w;=;| z6l((x5(u4bV5Is+4Gbi#%>@t>6hYrD767XmV~U!=u%DhOs$IvNVuJ5NR;mp}&J^;M zQow%VEYsclXLncSmj1Vu<;}adI~RVJKOdgHq79&vq=Tst%Hz49T(|-%_qt9wb(hRU z=>P{b5VZJX35~Y6=F<|kp=0WIJW?(4R*}vS-$27&mb!SZMMK=lrkT_c4Q>v#tfG?u z@XXnW28Y@F9C4-|amc^1I$K2*Q3@ni)7^DYfgptk9Rv$O9I?GX{EwheB3P5Sqw^r-Av34?@>}vU94g@2OKn7hvDl zlLe`qw1eGQsmO|5zfTZnNbwiUVIxYtok42wd0Um&-Ps%BYxUMsthcYO`y0z!D|W#u zt+^EREKC|6e7ElF-0StLX0&ifD}XsYTf4;q3yqLPzC?<`l2vJ`?ako!!uhnu&(jD0 z^F|p*n1{7NnB7Sjk>@^DxFmR3%1ONkZouB4Tho2ma`#V_vqjVpr3fMp=JJ-!ebQxJ z_pPPnYkyt9_4o-g^ml2qKpI4m)&)EsY-36K1;4cqL<$7=b=pK6g4~G^NvSjU007c+ zx%Xk28pvRI?D_pC)5kbmk<4IKF-!d9wD+1*ylsqA)y`#U5Ezf7S>$`lz!~AK3?!M~ zB+Fx@&Vn>l<6Ta}oV8QJ+^ABF%gauEoJoq6GUZVv<}lCcuDcCNb@wU)`Nmm3D>|)`fYXYN=kM|+=|hJy4gmIE5i#*IND34<}k<@6uvIHH}1)N~p+ zKgaQI#;xmweBJ)$S>i^@&^8liC9A`A%1TxTgdmJtLl>wR7*_3XVxygI06?B3 zBgR}Ii6RN0y4avC_QJ-^&Rzi6P8f0%HE+r46E<%d1E-k)F0-;JcdbR%{sfXlLA)WnG~3cx4$L7>0-Sv*C4!loltB6LiyZ|Bt21! zD5~OX^vQ{hKfoOy^uDBj1E9PPJI))tkb=_dLMP(97GZF^Xln$+fi4;NnK1Q zBatlEw9Kpf4E3`^Izi^?vu(Fdlg!2%i#7Ov(6P!9Q61qVkS#bKaTAwgWDI106q=!r zq%fL$K@-G^IJ2!_pz&95Mpl(!G84BGv4d^@p_WEVA9&)9|Ekp;S|@1A`@? zffockS0i*=n|dRMfY-T+Ag(dY;b+JK_x)6vVzq`1k6^LTta5wBlqS~V8m5|1E{8ai zrBR`Z*6*+|q_QvdM@L$!2ZqOp>2Gi)`8hKeRKAnvD3Cu{_{ULQn286xAeIrL^$XQQxfAit- z;fCyPzq-@3thcidNm7wX(SEhfAj8X8;MElg?HD7&;EQJa+{}ZDE$x1I-#YI<#t}9A zPojFy6&Vs&I&i^XVmzsx*A9t0zi<%v1cy%RR?3HK=J00cPFj8MBKbv3E|`11XL^LS z!x(}6s`gx2o+;H027O-vfT7WMsw0qq5)WXs&Et_m^|cy?(egk9fMOLZ%i5k!ia#Pl zsj3J1ul@iWs64ph+(Dcra?sQGzza#jV}^{67$W@tmN9)kDF3&&yS{u7j_REz9y!U=FtKr-4bl$dVIKUee$>- zC8b+m7&!$W9dB&W$uh|Pgi!`pli99oQ1bbrk$CyDMfS zv0N-(tV%0}*^dR)e|=m(yZYWF@(VY&dI}HaU#Z?@_x=^FaG&eIHp|>@WEO8Lv`Swj zX1Z57kvT6Q3Fy)6cz7zX5iXNW%F&{aRI@BIGXgnab)xr7%p3i1O{`)nMNV8>&|Q4s zdvH>PAFC;VbBwCkV_?RfJzGc<0ZsVr2nqglAo)1&e2XTC@l}*$I3%P57m__Y5~1m! zlSxcCnU;-&UK(C^iVy*k2ZCRLK9xwiP$2sM@o+^Ab6)L^y01UVr!3&F77kWxpFUb{ zgazqXRhYLdrj*JW=qhq3s)SL)Yr2KfjHoGsLfNDu7h++f(Nl^?> zAlhldxHNkjh=-S~`tD?EV&}zXzj=e3+$I)tq(Zs$mTnKmjWwL4X;D<|K4&m80$Xjf zU*TNQ!2RazM!1Wr#V!rIC#eB3s4RHa;j}(qW^i$Fqve^nPL=h}*1mi@vzjG$(vNV4R_Y_ff0ex##sBnn3i3 zm8dRV#Qy))<#}ho1qxqs+`L`<^obrit^xW1q9EMySG_X5lE1sKs-?BkH4W=^omQu$u@c{?cxWtn#cg!Wy_p9Xxc)#g zLnTn83I&PDSY%6Kpixspq@$tik=_di2?m)yIM;O;DKpm=Me?zl2JJ+eicFGLC%qmC zLd0FtI=3TPZlO4Nfi>pUq!!qYI{jU-#FBk^CXlKS({xwT}t?Cd>gd z^2Z??P++nkBJQn-Ato-{Sh74C^%v&y9FL86i{@WONVH7-alx!xPkfZvvza)3PH$0u zbYbJl0F716MXxq!n`wl;9|pGhxat#j_wAWD%nc0nncJL&Cqxg_=45?Ugua`BR1wf> zZ-Q_^%;pI6HJN%#CoZvxqvuvl#>p{6oX2MjzP9`j$FaAKOj+qEW>dF^`d4wqry+EYog zJXWljxW-KXhoQeVnIQc7I1#?cJ(5L(G6tohMkX$lF$yP|lO9eN1W?FgLlEh<7)NT4 z*Mky=7|#f8VzO^}-Q%!OjpaVPM|gd+IovV5I#{kD&q=ek{tm>Y?y!Y#ZNRUhwZtc+ z2Hr?cbN`_MFsmcv23q~-6)+wzgKEu2JUkeZTH@8!ROb*xX{59{b=wEak}wmx7jBpz z2q)3RARbKeNFR{k%HRzM$xszc0K|lTCL^VWA_#dx-=*v?3AC#v&S&abKQ>RcPH3(R zj2XsahHDy4w)tH8FVNT`#)j?uek$q_%62`G z>7HCpT10l`y-EfVUsY1Iee-qF^Y)1d)o5H1jkmxjotpB!qvOQRL{(Q|odUC*{NrrV!=`U~DaHH>8 zv&wuC>bXVL#mUfLxgQKpv|A;F#b4&xMr{7RTK&p^!2RA9ar_r>0Bk{_jxd{q`RyZD zyIV=s&DskEyb_zr((2*?1<%`daUqJ0jdi%Q&zn5hIX397$!^G8`>3nFnmL>^XU)hY zvA{H6yl=yVICjuVy6hh9zGs0_IjT8oeE!;nkTuA*y}p>K2C%PD8IO`RkFl>Lh5PCFBwm4RGUoUVkM0~bNSxVX328v&Lr z9t>mhOzvZX)^SvpaWPg@r@x=fyK7Qw<(r$T=nt4I6-Em4GGva5^C@Q*+XWKm)i`po zzK?EyQbbDcJ*;&}*IhJjSQ;bAS9gpOoe#;iapBfc^fG>9!3fSlH_2E?{d(#yv>D`b zP0W+*21W*sIWU!Z)HBBX!x!&TujUuOAR6z_t;cd-_S>-^Vqk_$!z%<@Wc3mHHRq8UMef`JbaEsYqja5i&rI%i&@SF z$IxSMaz3K27(<*JHF5$0xfKy9*IAE<$e>R`y!SEK#LQ=-Ui|7Uf%W;%{mc0+i5#8V z-Ghej?^=TmHrLjPboy2)p^|CJTAOJGKkki`Qj^_FkQb>ykP${*>*O+~-)$}`y}liA zZ@)(2S2&9+T87!AQc!sog5*ys@PF-@`)o4JKytR<3l#hnTpVH#rPWI@PMJKn@5AJY z>q}o2ef>KC%0Jf)%#9DwghnH4V6SSrk8p;cvJLLNMG>~Bdje?WO; zAykK%8H0*jd+Ob*}r+DqP4OnTm=EMOJ3C)!P+hw}S3WyARA=OLS4JGPbNyl-=L&ve72z576m5@&q)_n{Pit5Xg7T*LR}`lKp_zq4sFjK?q}`oWyqF6TAqa342mx&-~`$-|;9{ z#o_rZ7QqMi{;s&?m0$nmDi^&Pofvx(RGZ_Be5iJ-Yf2^8gLh>{p@y6)4kIqp1_{ozFHS=BlnUOJA^N@O&(ykXSMZzy!sL|K_Ex#FoB-gW(>$!KmLAk<0`sl zfPq!*RZ4H^#I3`yc$1%AX|GN{*8>!>O&XA*oYxkegJLlp8Y}tdDRH>|1E5t! zCTAq!*nFEg)K;+Dbh8MqLz-FL!+X$=M72W`qE!Ty3Jv$XIoo(`O<;YsQ8POh{A%#+=rAFG+Pzd7|5E^=4fT;0V11yb;ia*{h z(kx@nA`jbMNd4aHvglSPeW|0<;L7f>zxiU^f;2me6dH(v5dr`h>&RGvVpP5z`y;4T zm8Qk89j|oNzr`D#u^Awj1`Z2$1T3^TydvXo_M9WJS~V^DP`+G)+hr!pVaBK~AZ;(M z!?IQMpTAy&0~3!SK0SBzUH$ zJ&FXc`S7EKYNT*uxe4+0k~X-umC-4PKj*zW@V8lR+GR^MQwdN$dQkR+fQD8Bi50Ok zBg-AiMqK;+2k0&KsU2Dk*VsW*B0b=--2eIfba8g~a3z%I;($cc)z#4=v6)hgT+kbq z(!U`w#FeJ+ohTA-h+N2IbG1=H0LWSN4QO6BacQZhax>&A+S~J^0*kUC!|kb_U)M7! z7_GkjYxN?wf37Oyc!YgQB2n>#2T-4CV7&wZH8i@qySk=c;6}d{tn$C_Z%%o5J<1;0 zrw@Oisc5>?yW(0f&_j@%Lxb#Y%anfDV(QgF9Dw5Dwl0FL>YP>=J7c)Vp+dx#YrMwS zkI!!Sdz9KC!OnLt0ZO7dAsS}cIBq!u%#O`|CJn=vxDg04^7QyTnaVMQ=0!>F%1O<5 zkfHDip+#M+AX{cVWcNpe3-wNPO-9>^Li=_pB9K zI<41#VC|CtbV2@OQ^5N7N;w`|qT)tkXh5C->m&ZQjO1m`3wB~y1*QFkn>{z$imP*~6PuEo)(I|GmcMVWpR z5(e^37CB&m`kq`pM4cf(k|h4&Bvh@<5KL?#^n5 zk}k-SpjXHWD9QGQjsd;mxZ(L3*QH*=Bqchj3XEU%*>yLx$X`ECKE|29DXm6tC=@sk zt6|>lAH6nU`q#8=^Vhc=?7ckf(9;U+x1kjo{{E5o$ZNmd0s%b5;erW%|Bqx^$G zj^SMzq)4>)X^Vzx@?eFvPl~nQF%-Tf%>4L$3{@7lUMB=qa~OHRwwe_pWqy(JhUsk^+e zQIzi5)Jx-jgXp=1zzrxI;o8ZTB`^mmNPXf43=SRNcTtY}+VPhxnuUtvWOqd6G|NCOy8gQXqGUeOt(qt^>N*H?;i#57~O4{3tvPJtla6-sudc!E|5X_jTaA@{P z&IcyVXeY@;9}XP;u>9@U>#+5_$CGVehOfiBK|Q?!HxJC|ENN%jR&|R))O+>o;-_S- zAM))lufz*6v9S|VN(IQV8eE(?8rX#!)Gqyf1HE$&n&8REeFr*@*(u1gp`Xpnm`VT; zxqFs+%Q{%X8E+kmPG+-ngTPBQ;du^1msZkIjW55vyT-N*z1Hn$zMl_Vw@z6JN54E> zl-tY5N`Zq9xf!qlK$NZ9RfO_zeZ+tLoZnvBgYB8SFbHxldYjz zxj?*Pl)6B_0(>g=scf6olBYs0YiS-~bd$@gnd@yIP4^ZXUM8Qreay@s2SIe96GH8j z>u?)0je^DLR|HPxllmFf;1QuP%rwp6Z4jWNkm}C@ooa;#&BIZt4*%E4eWQ6dl$1u6 zS}`q-y`HZQ$G<7!QA0eL3z!i&9mccXmEuZ(!$dpE|zs0M+X_61HZ&PSvmVMI~WIkw+$qBm=l23&bu9 zDm=h4=MQi%?i~+KpWchqr@40eSCj)&8S1*fGtRH^N?#XIR$p%7M>v zrW(x#G>|0aWZWcgjZ7szd6}F`CuY&yqn14m8n9mXZ>XvO8Qd zcvK#o_GNsuTNSG^G?7G^U=?UbZ{+XfGCmqH5$w%#029iNvaH#lI(2~^ zii76ZT2%4IJ)E+3)k%WnnGi}ZD8z0x94xra6Peh89?Qo(f>y(FW|Fo@spNUd?n@f7 zG{nWkGX)$p1SdXGV2-mme$6qOm0I%&Sda24{CuhMI_~au#rW}+A85qdV`&7aW~`oV%~%0^)=kIC>kbbgx&Xcwl8p&*C>E zT*FcPfr2+?b_hR>tNc{bpTsf=AdAc!5WNI31^}Rjv=9GXvqWLD&qX4TJITxT&Uz|D z<)yb!;fl<2GZ$dL@LKy3bA$Q&BHD;C8pm9jSA$m)EW@;5Z#yQN+%91LX z(@e5%`kG*rSyj!fSk)>Q#Um46>9K8apxgyF>obr-NU|K?Gi@2bp@?d=#1E zZYkEc!>-Tgu%4xtYW+bH-wwgITHYzIOiheMu}|jb)Y4O81JNp#*hp!e!#J$o|9FdJ zhDD!2gGXh@WEc?O(Y|@i$n^XV8$fA?qL3t4-0;Cgn}7h$4mnq04bi*@bQA3|+%=5A zPg~zG*Vmm1_+Q30(EKqB-yzfb*@v18GFv3UAYvo?2x!6HM%$tMPXeDgpB+hq1OoTS zUSP`8#Zb+r!0M_$sb-&o&hcz4e=AFwgc?xAo5|b*K!%fp%%r zhYptm=c-rNZFj+x=7pF@X4Y|OQxHTM>zU?k7_?)@yiXmo|7Q8H%*RVagBirq+SZp- zI7BheB_pX1xRU1%^7MT;`{EI+1^gAbNQ(NoO{)>w!KuMZKD~?)oBkf25Dj2$N$xin ze~_Ol$i;T7!ZgE#Kpqk)`~EF3U`k4e8YGePw`19EHpu6iS%nj6#GEUU@*nFNOC%Pm zb>L-rTa>^RMn>aGqPmzCyoOjhidMHdA=6me&xyVTKIh^m+z2eS7>%&_$0IW)bb0ck z-&&-K+oX($#Z;BRIWJ>99oI4ZVNR0WFmoKhul3rtS0w!jh}(AkOXYUHuy0JOZZ^6D z)dJOrzcP3VxK#}c@;n(r0^r|{LntW<*uwpTv<_A2MG`gW6q~;?6I|s`o`h{A zsq3;5C7E{`i8E2?GV4u_NF93iKVD{RPWrBGOXs`D%cj$&2fW6^j1*ncd4H!2pFY3!hm5ul`_Lyc@kjt3l8ABzIv0!Zlv z&--5#=(VnlF8jfIZOO)(tg)hGDwZ7tu@U65+q(L22iGRIKV3TIaplX?(b=F%0R**# z_LUJNjhCEO^KV{JgBN)Hh|+Wr@hpiE<##F2Xa?n@lSV|4{(qD9T)byjXDghC$0!|D z42_gDlL|x|mcdBO0mx#mPYDj2R=fGFO&)NJ=cbaE|@@U^?XKq`;5W${aA! zOvB>og{1t|f23n(A|bwzR`Bub0&a0yOjah2Jnkrt&oyHj!;6M>Ro}Jqph29@3{AP( zg*J*9;OXPW(JI59JwZk8b>gYj9lkqL>$qxr_oMsmH@kesvQmPh%awD(HtSNT-n^P@ zMy*L``BK*AjKsC+{f_|tZXz1*b^ogOpm(fVT`j1zU{l8$>Zx@eEjj%~96;je&lj$^>w!6HfIe)wpC0lgRW|AUT z1S)tK;||s!?W6El0!jw0P)Y%0lJNg_Y*sK8wP(qVwC#3mZ+VB&G8Q%luEp!)rHkwz zU8XF11BcSkxvQ(IBUmzN-Zgf=YV$qi9v4#HP-Zx}xALCM%xRVU$&$L3jTQ2ua%~?W zn}D1SZo7di9ZF>uS7no?Ie#AcxE;vbhS64*OO}~`1d+F0;95qic=uWX&nY!=p2GzW z0$~kbxN)KnvGEyndt9FJzr-w%r2UEy?}L9l_BL+sF`8kaKPX=R^SG;f{;S0wImfp^ z&0x}@<>#h(p_XO~`oa<#kcpdJ@C7>*EIcGUD7?rhXOAZ|^UH|; zQME4Q*2gk@_!BrXIhozoD!2p7jMb=9aQUj4J#_MG!I&#eP|J!pJEavsm0&sU7D`nq z$nGxq^YVo`Z$Qw&Jq1I21Y=W+p$G9a$5ML)WAILR79WX8EkCJDK~VwGuif+eV9{+e z;uKZY5)-)KY%?dODTCU&D$6Xt;r@K04^Bz$QO)!Z*0>P8$eQ2g-JjN2z%;V_1<%0( zx`+%#G=(w!3FDU((`}&Y;0OiM1|k|I(U*|a;=y!$YGX&|)}=!2{x19Bk! zn9bww??jG_=wWA(FUQYaNsf;xfwC{-E1F4_o3b z6E*$)-N_>xR^wL=tmu3#%zQn+z3RK|u9K@Xv2XRJ+KcEh&$)X;(3wyI1aOyIkt0+( ze&fc{k`a6%q_i009X$F`Tc2G>brAb;@N!@0lgY7nfk}_l^7`5RN$*CXp_5@o*oO!# zEm?g=3)OOayd$zu$x2|$stTE!idH*om}b`mHLfFwv_ zNVU`x7$lBn;ka?a#*NG-rsaAiFFQ5PPaYn)g9~Qa?9$$*mnl($LCEGL{y^boV;6V1 z$;rc0_iWj`B>rqrv9zclz;WsK#ar)tEm<}96~p`g{ID{t`*{%xl3m(u>^G_WOa!A(rr=DvD0!sKJ>##EzL>D;^!a^b!BM)UTn>p-uCD1u1N?d+1-Zjs6xrt ztF))n)Yb0$sPWgK+$^|Ry=Q?-$2c!`)nzFQJiuQJSy~B0)hbRJTvA7OM1VaX;kQ=9rLQawN7&E~Z>Yvfcg`v!H*63YdVTOcDM1ar4Kl zr=e|Q@77wBOd}LvhjHknU2}-eUba97%~SR1G_v+HY*1R=_RBCbfrZT4u6qx=gAjT_J;N?ZeB|pV6 zvo4WX8d@A0l0JrMh=?@0Mrvr!K;P5td9z{f9r`divuVHpN~zN&*j_(e{^RQFUg*Q5L23qMZxZtPq? zV&s^xMC)r7!cVEhcZ$Jp-uvKBmq)DMastT2cD@r`oyQ#VG zP?A$v=cW_Hx(OU(U9y#5reUE6iC(pE|6( z%HHA{I8v|{UG~Y6*VpfMAIiDlR5TIC&CzX2q|AHjB%_y*WLZdKM`}Em=9F`~$-@A1 zC^&~*DC+jXN%Zij71z|(YMWec>Rs^SBkd$$dhDIYA zFCl7o_@Z&ip38&@WiB$B7!O$2Y8K8HM`qI1_cr`?b6Z%>GDBhO;lF%=Htb&tqvnpw za+p&EnGiE(tWE=;I5?i`lt*Rl9*vqHUY73v4EhzLw*gZ=A0J?KnyI5I7oii%9(6HO?f@5y3fqQM+`3T1{Ft@8?teiWiU zs0Wz>E+@Nl)8nIGFRg?r)!w|A4N|plSd}$ZkKtz9ckpue*H*x%`*`GY^4leapv3UCiq0r?wYEaW&~;6 zh8Wb?FR>K2Y&$3VY{CJu2YJ!7M6$Rg$=5Hp9O`8Mqz$-rTj$B`km8KTOUeTpsl%YV zSst%oc$RUC{PSMdvHkvt--AnH;*ud5B z1LN{UX!ry$Eh%Bw6KAKu+Ty(e#{>)V_5ppkM#!b3>1!>kjnO|pZ>>{mH4&}IGbd}8 z5|<481AHED`NUqr7$z-5gPEs)x%)o-@s%K3hfuW_4XHYc!{+&did)ou$=g*u#X8+VfI3KmWF*y08fiZ4!Ro+msPH|Yn$-8cPHgbg z|1tFyY*Bt+*Fz5>3@IR;1JaIkOAa9*UD6#=(nxow#E{b6(jX-uT@pizLr6)3z%%;$ zzt{DCh5O#;?7h}rYn>}2d7J_!(Bd-Dbjjf}*~8DzNN*?=L^OaSc2i0orP0oVYNMpm zyexHVPtfhl*j17a7#8JHUY`5|LJ-5hTnG88v*!UBTO>MmWE0ueE3dQxRyEpbuX88O z!tP)eDlNQSGug4%9dPHxS9{NuSyH|!TX}7|U<2w07)F}Q1<5(w9n8Z~_+J{t3j&x; z;$$IIl5AQ;PQ@Cs1A_5lwZHBHnu0qvQ-*&0aG%<{on1-*FLKq^JR4uLIbS}aLj7!9 ztnd6wc?YuFQe>0PLA-cDLmRG_#X)u!AQ7AKHl*+L?)vc0mIK4^9sCku;lM|Xz9}_E zE7r5RzLtvK^xi(Wv8Yam$VuaVr~*{zF`lou zEdR@9Y*v@my*WpaX;$@3i+vDX;m(aE8m81&YP-d+_nf2|fdFTPLyfA|I(Pbw?UrWAaFP--`a=idGv z+rCs~wnNG5aF=gTS{iES^yd<5e{S|pi%$6|-p`xW$oAd@E76Ck3OO}S3yW0Ga~)&d z=hta3gSFBdg#sK?1cJL04MEa) z5Qa#+-hs%zL|ato8$!y6)M+&y^dW|?c;T1@Wf0=zhkx*rX{k$fMU4co;Z}R>;pa~+ ztpKI`HYu5;CXyD0@~MRgR|A0$^P-~(tlnZ1c0bf;)`&tk3shBM&_^BORnAJ$|3;vhQ*e z%s}RYj__{vjPN54TCZ+Q$d7vtIclB#AAVQAdTFDo>%KMU|(5UnkR=?k8{lA zVG4y5!MheE0*q54hMwy5Of)$7Tt94V{XWR{yi;^NbG_4Y6-g;;$L&hlPI*5k_Uvu( znV;(mUKX_mmzzJk+YxDAuNI22K8_FR%J(%gSNq||0*Wl%{dp~a{mE38-%i3_zF(vB zoL~25G0?7Pal5_pYT+{+ORlP^r++N>YAC2#HBVYU{N=#76A;q@i_9!@BL7Z|npkWx zm}^G%INXUsV9~GqGRegL%Z$1@i9+v}vk-+c%%uN$s^DYD>ZQUwc@%PspRm~Wk{TW> z%uh5-W0AR_9Jqj%-ON^nYft0u(B#F zS3WBi+xgX?Eg@dn>EV+w{{D;MRz4|oMUJUp&y>-MgNr+nPPKGAQ*7R&zh!B}*2CI! zGE&ZA(dSrH=_Bca>%k!DaPG&E>(A@B5kJq`{JeW&+h)oHF!TC1zvGl`e#|uDbkw7w zrlNtvC4eJksO@rW>EAqn^maD!E-uF9#&74HxSZauz;&5KXvT$U-=dmIj#}8Y;eoWr zHOc71++G8Z+G-?fG|-qN>oa3t9Fp`&j|ulT^cPu5!b2)0w|eIrY(}3mvBlStIky!VYnKvVv*yWjQ}( zM5Y>Qk_0`A!BKhs@#G#V z^&L~R8Qu{64^q;3<27Y_Rn26%Vdz;hrpO&uGm?^G&wYhv<0xsw6isLjjW-oEW?p8$BFEl7A-9_GDqs#x= zJuzW%e)-J9=(U2YXtpBZv&HqdSMNPlU&kY?&!~_~RC(a3|Nb51q#Qg7F`2h()@X0J zqt^SOqm$m+%3tcHH(3v(k3Y?!JBen0@@|p`FEp{{005YDE27Qb2Fz&ALMY6m3zbXy zfJbP6NS-lt}@G>G7&(oD2X8kkZ*mlH+SG+ zfH79p({tNB?6L|UKkPG|Z&|t28HW7+Ryy3gd~~UO)o7j>4)eMe1hrfPV$(BIl}9CUQK7>$h^s=r^Z6p?-m63NHfn*DuVx1y*wczuE!b*_g{LU(2_v_+gX*>n9u zq*4Ywt&G0J+)T&ABQ1N#z7y+M-A*K*q!5Fp6%(Lud!HagNX`(<8w!g4qNM(Lu6Hl zWkw_J2h0}_FM8IHB|4h6{OgM!M2kA0n>X5tp3cn7Hd_M%7T4k4)xd7UF1iFaxM1R(0aNtjbVC44$3%NHsT4PK>iys47Uf& z#2|W1&0J4LOvz_O?lhyyX>ZhMhm|1b>%_ICmWgnG6<8s$sk6w~wa z%b97?`OIb0sC0Ut{(M2f#nMfn^8{N8?-LWqRxwI;x#9502i!SeXw`iqqn=9OX|dOh z6VisodYp7gHAAB=Eh*Us$53D(l2z1#fXnr#-{r)V%nA#OQ{%x;-G5K}5-=kD`h3~7 zhKtWs#6K)fAC4O-BY9MZl?KOWd{6}++b^QR^zrXgWrL8RDBA5F>z0G#)V zvrO-ahOK}*pEwrlS$JHLk z+$ldidJm?L89Be$S@K+&wZRZ*L)R-~*rcq!@{=G>C@)@#)GUZ6J?Vgtm^qqSn3PGS z^2LMLw>i|wO=8V+wb%oB*N!_D zSLt^_%Yy1kf(&OvHGcmW=>%Iss#nP6SYM=AHt;(-%r0w3>7yUdc@m!U%H~ObBK;K> z>7~w=Mc!cr`>-XedBQ6`vFZ0200#Uf+SizR`viC`aZh$%p|6%+QXG?9su*v{tk2c& z^%75xyY}q#+&g=_Ya>*LvT+4zLUZHZXc8p~x$#$bDyQGVRvDb38!HN@zz z0zb_+DZerpF#WJWOMS$>rJzF^`$=>hooU0c^ zJ~H}zl8J#KHK?Lqf!n8{27W)2`HlI;=u^U}3qGR1&JLNmUftx8Vm1P&F)1z5M^-6cC3msc(PG*cRtT}CzVc`7va*iA6HKwYL$$BATv`2 zC6=Q5oE-dW2P>q{?@|R+y5-kR=TUVc@ILgo1(O74Jc) zdPFR*5V>hX*fvM(=vbV-e>u)a-a1JZlY)<6=%@Mr<{(YjIP%;5HAbv`inDceu!)wy zm1=)J?>QAlP}FTIP=hWNjq7qyn5qG7US{gb%sgNy-hD%Ljh~ay5^u!JFuhkpY~>lg{Pw9A zpSSI>`oh6wBS~Lc_WaqbdHsz;D`mm_pkKS;x2B5UTdeU#0qOd<89GH)B=y%FcUTDW zAXGjw(Wv}7zRKS;>On!h$@C|qqofs};Fr3dhJg1UARAr0Ww}u%Pw^m{kF|47T3TnK zI)pL`$rfG4Ph|=DW9bEjj)q-QfcRTw3oPfQ-&+vHIwY3`&6xGpQW$nYshY}{A5|M)UP~kGO^*!Xpa}QWHE2KNYMK%86B;iXD1i0 z5|B-zkmJm$t$h4?|Mp>%_kikkkCm1d;q~-M>=aiet#ylKl3t@}U$xG9(PlZ+i`993 z4Zf>6j(9aP((mVx^E@cr9k6+96=`|aq8S(YGHRGP@(XLz@@t02?Gs?XZduozl%28=V{LdZw7a+&wu#{R~t~58VrtHBloD_ zXoyN9$5=z(36Hf6hEwts>72OO>WA(g*&rOWX2Xf1DOi^%pLs5=g}1iWn3fU#rLSW0 z`Q3fx$Pe#JVM^)@OXfID2a*rN`wqWIKsIpzJR9;bdZl7=)UKMtkr1HcithMxJTwa{ zwnRr~mHZ$w%jT*@i_q;GX|Rlg_DjM+MR|6#GO^*k!$W=*>S34Jxm<+qx#nn3*|oKz zx`yy2+UA{;CoB9&u4cHJOVNg2s(t1{Z1NZ^z|X*d|G&~Q`bU+)o)(iV>*I(M#o<21 ztZvsvBi|;l*f~{t|P4?fVh`x=k@_1%c$oM$O z89?rcQAN$ae6e-Dabk1&a04%kNbWS|g(z=-Wad!87tRbL>cKCGsoH9r?CDLrH z&T>F?DC4R1u*&#k%(R!Qho^|YcP=N!)91$NS3oIslAK4;)Px(8I}3N=50!vK1J7v3 zz`axUV$J5ciuwh!*u7izie}6@V>xq5=ABWIFDSh_oi}d9HTDy2le!1*JETD5=Aocw z-J|0}A}naR=%fg&r9O*ytMxfR&_c}o(R%;OoM)8&6Ac9(mbjEnljk_tt~kUhWqscW z<#-+GiA<;%NP-Xk=f;7FDg8ZyS5{X}$FVWxb>19Ar^n|p+W8DkeeJbhfVG`IGT2HMf&8(^rfzNwJQ zd>hfVkHoV}b6TL`p$|>fxRxY?x$(yqYCa$3tfz|8DmSjuE}!@ev;fJeN4dpE#>*`_ zwT4Ybo$P*=wJ;L+fDvAUxYo5Sr9D`8H6q9D;?;c>XGuV=wv*tJtmfX+4&4^xK30aCl|ZGHk7wsP7K1rAJGY?e$7Dxt9wO6plxXDZ|Y!d zVcV`-m6(PDiAchc2ApVrM+0*-D#v=zxE*A)!I)+Bg=YvW0yF!f1TZ^6W{CXKW|l;! z4%^Wx^~#K}X_B;J5XSs9)@|vyluTeCu#auf#SphBe>6EwTbKc#8tkGb_V#se?1z7Y z83e8ZWt2klhB}Y;ZxroKfU2m`URY96GIp5i>>JPfhxk!H!REGs*Y_a*>(OdaTR}TsE;jq{_+lgA60k zpEE^Lbrp1|w!b?1+i;Z-#P#1HjivG*k-3kG3WP!BqQJX5r`1Hll7m-So%1nE?%VRm zKX3ODCR4%^ur6F15sYK4u%A_PvMc%1{7Fn|Z%2sWJCMNPGs!}J$wD{Ys&lsvB(i^HPhCXO*2kSSs_%1X9$aj%W(ILCz$|r z_2cKH@Gw%a8vXCZf~)u#BL8SNGK3#36eY4ujlH-jJuUhGYu;|0JB^UJl`^zWnt@%0 z3g3KZAGtr7WGsZhTC%EnfCl437O4&km6c;L>c2@p;I$*DO+I(GQLFIHsWJ*@b9dvG zOj@Kqb^ma6^7{|v%M}?=IQ>fD*50av@9Xy|AAlZ{MdrlXP3PkHJZFLJcudXk}zfwFI zn|I>=WML4h^;U@~C8LtH+_H7H=4P~EGdMKSt1j^V><@us*kiKovEZ_Y*4}}1ap(*l zQExLHCphpo+6XFk=*_0B+{J&9k*h~Jzqrbh!c2OLch1Du-!kF1oRBdzAT!ysn%96 zomET@Xce&yShtM=QU|Eg0zm((Ta+tWt6U3^Rez1*V) z6+v%3zi&>*PPg}WoA1h)I#t&u3?9z5XIWI2p9b8#kx`#>;AbnARi|=DAxc(a11N@) zAd07$$jNQ#l2DEMO9IR? zVLoG!T}* zfhU9(JPJjl$M``HBnn7Gm zO5hjZ&7y$LeE=lW@TYe-JRo6s4}K`d&b;5wKE{J5HVnW26$a`)Mgwe{$Vq;C21zTE zRnJIO|00FLFo57|t zNB%or5t`(UJ{@xMj}m9uH@w?ZKCTd(#*V=Wi9bEZ+;rxLKOlT$uu`VBZw*&FwXqD^}MD;ZC&P7m|P;_`<7}28EiJ&^=6Y#{hngjZKA7 zz160Q`SuDZIs?v*iv_hokL7lXqJTRp;5gnw$odCt`pzh9O}SK^9Os}3Bn5gWBmbj= zL+rcv-IwdW#hA6xB#<PmYbAz zbSMd-PfrVL@fB$$Nu&(sW+XjZJ6_O4$2s$iSa9`Z-gJMx-avbDe12aC!jybXLQZGS zqiYhS3xs4Ue@fL$CzUN|dH_o_?!kDST34#ID}U=ct{bOhYl4?@CN+w+E=Y&X+6>d@ z3&8wW-k0ZpzGvm#YI2e_Uigd)yGjJQa z>8zsij8BW zl&(#MYRp4C>?wV=ewint-~(%H48YC~fqsyr$xn)zSLYvYF( z?{;%x!dIRIJyN>x+Gm4X*ZwjjLmn|sMg=qe8L z&ZGS?oWMvH1}P~pR(mxH#%4K^MEMvy6jQtBTA!+DDs1g+Bp@Y3hP+D(YZNEY8kA=l zg=D88hbwu!WDdLDpXid_<%BR1@)FGM9_y1e%4r5dO4|4isxNKAM8EVFD=@22C~f|l zMFua&E{t0%elXXrF>Eto08Duad3jK>x+RKaNKi4zw?;Trz-iUAbLlYyBkk-5;;RH( z7ZvM0c91OY+7!Fy<-?279XQmn7A%OjHErYW>L;9+fc9a|u9<6M(y69H#aZI`hX_n* z@~p)ZdiehCetXO%$15pxJ&Dt@To)(UL>RVk36=TtYR@iiVA)Sk4~?+CICGkee0b!S zBb6*6vwg^SjnU1sce3qA-mgQ3V_lt{j-z*?U2)_is$YK)&b)C7m?a1{bn0)hB)_Ss zE9QIO5c>wk;7Wcws)Zpid4h;gc$u{DenINVr?wnWp%E0ZR1w-~B8LD9@+lPRM*W~nbO=Y$)oWkruvzrHADtr_=JmEc? z)q|_&MV?xu?+XjTEq8}o4-+Yq4GxVCFhIkx+&B@K}Ii&uu*rI`H8UL}7cEhIf4S&dS-?euPr5K6CXkNBKwJbHdbv6D&^Yj^-) zy!vNE*nfItt!mm$3jsM!b4!EWWsbm^kPaBME#Z_+sQR_1K#C@=L?MiH#AfDgTg_^ABZ zTUBtv>_icNFTaOBYnk7`^FMSqUva!am{FSn)58?1R6Yug@omxFvdS=_((#R`3s};k zynCfZ6iKQ3O7TgGy@`d4%@fp^$mSaAU`*OqhgxZn3QV>8e+N`FN9wOyJy$#pYQm4Phucja~)5N+AEoFU#0DG zcsq!*;DgNMvLDA0JMA=a69?;wU~V$nt_O;u$EEPK`sdLM61%Iba5+M4qZ;u&oy)VT zbqPxR*H|G`fpP6uW?7$q?f<^rd~o4wyM9>K)OtyifN0!PYz;Aa-|(#OhQvR5!g1lE z1z#(2q700d94s%xpgN`hZY_wAuCRrXeQdr3KcdS=ucoi$<8?{F*2T`=jpNF|MDEk) zddX!`-*}JTH{;9ks=UxtsEP^dys~kt2<}T~eC)T8SHJ^s5>--a#}#r^tDN(zP-JQr zq9kDJuP3uN2A4GtF;qwq-u#1|GRV0V=?}-)pm-hdEB%RGQ2O&9m}So^j@ao@76YHO zKEY+G2nMSM3ae5+#_D~FR1%GYygnul>ccql2L`c?{1&Bcv5t@6d{~@{;Fxh7rmM*q ztL>`!(Cw+^FD&$8Xm??CZJoLbmYZk9Nv5TR?3y=!3X!ROOHXB!O7?zw*k{F4l%|Yb z-2Ob>RQ$QUpj)l-cTk(KYBb-XCrDUOPy~nyiVHgFR~oFek)ygWP3}tnsy@CCT}3EYcW6}OnS`xQ7X-EG}jvD~>dG*``RV=3b+R^mN|wQr-h zn9y0N3WYI!wZAe{Kl#;3&}pwMG2IWLunG|;GGXW?Oh{>f2}Q}UNvnjor;-*3ayB+< z1Xdv~4t$wV=MRb*r>Y=Da&fy=N>)ctb@Jb4^SNs`RzBvtG~#nfU^Z3sU)w++Ie2BzZU@0#}mZu}8;|L{eq0 zra5;K;gT8G$RB zX=C}@lE%_ugz}RLM=`3^bW1%F3)W(w5k(= z(!fMFBC6uR^i&s;mKB%M6n0XksQs(Ug-f}jTE~mZ3wQp?1bH%r2$L#OX>vE$HHI5) zI?%M;cqUz;AQa~IBroqJL;>^9FWCVM5bJvsM1dr_%ug|&*Mc@sl*^ka{jDU63c3e4h>jkKCP{)s)K8TX;4< zsMAA+Pc~cOD`Qe376Ybwa7qwXt-u?S0!ZApf<3b`V+w{Ty2gf7WYl+F!5zF@{L3@{ zM`VTn!^})@MQ${80AQo_HDY{5`>9COKoBs?CRE~BGAj{?C8egKWUjWXD)PcPQ(&@h z@>-R)J}k$Qx24xIcXYs=DuMiycDiXT-bXoGre%c@pIA%!~2ksx>bGZBy z8q!up6dJH}<$vU}>Ov*srtps8+ya6M>^%2<+an?6VJaF!eY8oG5%zFRB?OrZzhxGP zcZ*rIn@w1|`&NmNm8+wdjJbhCGXOw+v2LoFxb!V#uR^N^HQ3phOD1~0(Kj(TolPV*06XOMd>exF0!WOm^eYG9clGg%Z6l-Mm`CU1gWOs`?`73O0Jo8 z7+%9N6eC0}yfyhyC-D_iBE(BP`d|d25*DZ?FI|z-uqwHWUZ%AsMzJ?E#lsxee? z?M21XPdpUO{G><#3Bzq>yNO=)E)R!U(05C&Y}80PU@RNn?K)k^>Vw!?7YvrOzTUl3 zUN+vkC3y2+u_BpmG+uJKGuF&={=+7_0xzkUCgg6H+vMq1V^p`K%k0%ja65?mv(4U6 zu;x3R`h1%gDasE_Tt7MS{UVM}pqiGkN`GEX_#iB)d=X}8AdPPy(2Gw^*}rNfY`+zNotTZ~=Lb?HL=c*_aa$=(PKGyq>%|yXn-g z*4VneKie)cmK=d!q~To;E$ z>YMGVh$<_GxDgFLNg=c$QAv(Ri^3<#qZ(baOODMe%Bjw@;R)PDJ$c76_W|P)DPbI> zuJ&!=Qq^z3Bsi3Djk&l<1Nu;k@PZk#Y199PsLe6 z`b>O1xm9Mji~4VGOkIgEFo+wElgoUJ8%8QU#Mk5u(Ph=W z@Ip}mUU=WV!a#Csf{w8x&8hmta!;8XJigN_feTVO+7)_%LO)FV_E6MgqnOb-T|mKS zY4ZysQg>DUZvIQhSI;iu#&0Jqe!uV`ATM-dd%mfm{$p(q92@7dRs_bQSk$ny@6wiI zvueGLEj z+cdOl#gY;qgOa!L7B=oFK0)B)n|pj0;@`7!Ai}9rHp&ve4JlwQLT=?L5U37e74If+ zlbcsMKwl14o|T8j$`vg+@Y5t9W1YyurGb-YB(lof+$#4Q)B#kMk2G6$L0Oqg11pY5%m(XF+a`y`0Q6(!fzFQ%OGyp$`QvxQBXh z@W!w__p0CdjET(c+6UT^K0mt_(3htbu9@-kcYQD1CERLo>v#Hn&6a{?nVob;1}Mcg zK2tcmhXOcgXX_&NhBt7mv~Z5Oa#UI$ShOLJhucDGVg?Iy=LqLk?48}r{dsmhX=s0|7Qmf!*jMh4Vh+aHP?(s^ z5uZ{eUm}6g^c7)hEMuKp`k%}}f#(BA_eEX=4ijL$jDeClKM|}+PB`Tu2gD&{caGL9 z65iemP5Sw@H^c0^uWQbi>C??U#ru-!RE?5kL+l+~2@*4YPuwt0)Ks^Fbty$~vAVJc zs;taP%S%ltTSnkWSsIkDP%3%^{MDiwooCX3$8MkUK-`mSvX+I>lda=d)en`ByBJUr zkPa{8FX zFcIrqwW1Y`d3om|!i?M{xpHRoc2=KvkQQjFMh64vwsUYtC?0|oC0UBA=I#17r_Mx+ zQxV>#Kz^FpL5K9?mQtZ0|jf~pyvnf zAoeZ!{PR9Q?BeX&vgAgD4M~@R7^TvemaqSu$!A+S#t9rDT!3NCEQ71jIX-c^XJc7Xa!hhzbgY# zFoAt)Kdy!NWx_)jI+p^O?76%mSU!ATIp5wX=**ve<=JW=vVsN+k#vH&;R6J%fyrnw zOcTS?Gt$3LZ#83wQ}!Y;6oC5npYYf&QVH!VEBHb|I0GnJ%~L{eROO1#L=)-I8K7a9 zyo=5`XP;`+Km}jmU5?ceSFO|te_Qr1HtK0EREWHuoY_JS=o{Sw6cCt>0hMPcdi``x zD+pMaMG{OQqLu9ER8<6cLptzVP1b75m?rP8>uSfLt;B3!6lL88vc>f4>TSfWh|27L zkWd+Jfb3KNjH!vD7ydz_IAwn3GGvmgai$oQI_ld;5SH*f=%B93UaIt=yK%rA!PPs7 zW3i{=Vm-eui!l;Wb}e`WVYw^#oRvjk`akjLLV@)wT3+Lo9AiaboZvv-pY2E89NU6U z_4yDLZtJJ_0eK*XVv|9qt^gyBpF(35``54lk3YR&`2LY$yVx$B4b0+2j#`hDZc`{^rY<@S?z%kiaQr-d2Kb(}F&4rmt1B>T84e^qQ zh$zSEvE={&T**qpmpotiX84Gt`fnx+zD|^+%>(2cl+`3+$>v#6F)~;_zN4>Kxxz9Sv%l zG%=f(!#1DWWdM5y`6%*-OCxsJ2^b_)-pGhdBC_pfMWBR)dSmeW^)T|HXT>0O^*8gy z7|0B|E~!P2B;Mg|hLg}_yDmevHe&omDE85i6cC^RWw5)qSS9^mxxtXxr;>QGuo2N) z)X)J&75&imkwQ`j!aoB06@R4l+$orrdn>f0Wl|LR%o{%jo^b0fq*>`jY`Qy zUslOEMf$LrU}DQWP5!>iey@u=@kXa0N}XE;1btz;K(ggk{v&vIU7n~(GW~0C7qEtP zmPe)a&SCvy7A{M1tp|2sY_F%$_0#zyZBPiOH-x-=*GjbOiN#x#=6KpDKLY-ugG0%fO5@kQ`~KHL|w`(NU%rZcU;M>ItT%w<10G z5^1cGsW?nZL8gyG5$K)Lle6xg7sH=VT=i1*_oBN1UhHF)cW?6^Q2hXbhwrmXY>las znd-wY@BA-NLQMs!@U0umQ^QVf#AhbbGn*V@*%G#!rcC4-ongx$9@$Pes#_ zk;|~`(_yA|+x0=0bjw)YgvJu?#9ca1#CG3R9r4SeDMllH46K=rrj0nLkBl81K)(|* zx6$(^MCM|jQcx0W7f{vzd>D0KR#jRsW4QHdao&pAa{2&H+}Nuy+Sw3tz)_-+m*YZ4 zVOz@i{hIzrf)yUHdg$r>9dIZ~Z1cvV<9L3?#^YHtI>NLUZIewaH=cQ0`kHh5qsD*6 zQW@Bo(-$5PV9|JmnG@XxPIOVAUA7gyOmn^QM_1@24uKRAquH=AzT&RLFUyyWjXAis z)ov}DV1qtNK$Y{YQX~H0IRp$ammU$FY+ktAHm#ste)%1%RhNS8eZ^V8h3e^` zOV`6i4eyXmHS)2zw2=mfX8p8cJ+7W3Cwbc}1~YXMXgQppU_y1M$VHUNdSr3d>pDwx z?X_IUvmnudeg#)Dwi@&l)Wk5Ze(ZtTaaV$>*~vs=bN{|LAR8Sa)&?GW$cMQ>jDSCW zSo!;!6A}o$OZg4!kvGr%jS;mGFMu-}=Gb2gf813X#Nl=fQHdaO_V@ZIN zvDG3AgjU>CWHe;KSS_Y$^~mAlZ@wzb;BWcJB1U9@piIy}KFNx@UUii`V>*cmPZa1Q zHY}c&(K5~VGhD*|$kr;h9Pq161L~bSEO@o76CeDDW!ZMTyr9p9lq2{mrKiq_PRbV{ z-xv@_GJ2Dh^X&24Op4+C1q-*^{z6@O4ibx|WoI1E5{51Hkjcz+pVtogsKZ10dav#~ zkoa{L9L=BYk>x~i7yM>lv5ze&7$bmn*F%&(^+##H_^t;9iuFrbbgZg2_GBfIKBW_G zM+D}Lv+wj1Jiav`B0)wP9yUgv($y_0E;eW5y#34}f5j2)<5n;an8O% zs}F3pt*TBM{fof`MGSn=QynNR*iTut@r3!EXgVNGBbpcGWpxnElmA9vLzud1$lt&m zE7Mj>J@E6>`31)FdinbOC%%De1*|-`R!sDi%&A{cI}To9^G=Ym+&pI7{45HfiYz-2 zejOPLkYsz=F^b5nJ)UsP*#8#W&xhnQap+@t^$)gBKd&4LB0P*@5_`J3E%u@#qYFR3 zbuI)WudR224y^{&7lQFf@kr#(t&`i!4AG-J!g|}R6;XoV-t+1`t_=r{A}yk`MDG>i z<$Z)m&j@)Dc6j|8tZ$iovI+f_1y~R712F{pA{MLjuWW|*PLVG)3##9hMldPOXtFV* zz~xVm4nIXd3|9)C43Iw!mPhSv_Q%CbBBZ;FyW!|rb|W6!365C6$EDF1fMjGveoD2f zyJ&mH;brn)KZE=YIg}*n@+_HEeOr`b#WfPoJoi4Gi^^zTFFW)M$%~6Ww z%^pX-Sz-Rof={ou_3XypXi=Um^w-e#-PNED$c5fAwIp=omC@@`Zp$R=912G5u}MVf z@Miw4F2~x>#>=U)?wz?bZ(}lVq8F0LnyBb`27mYVp-ASL#P`ot-c@eE0m@!nZp=Oj zTD`i7(r-A_7{01&IcR8@k;})PvH|lg9|}b-{1-jaiTFO(G%Z*I5_Kg*1{#Alykxv( zDD+Ep$ z5Mb)Aq-6^FoDPH$5tsB?_I~5lqG@3g`Aa^6mhZ#awY0ysnIcLG3!t{C7hHk~dd8o; zO{*At1xZ!)P&hVu(TRqipw<~xkHNbaIje3$@)xt0cH58DI!vr%Zv5Iv7_wAL*LFLy zD|hVH4lk?vGg=o_+9sp@Ji%h2@PaC>m)*3_o~PAJ&U~&3U`-&He4T>4Xg3eb;6k&* z6%^(ouNy*LqZNsY^$yN_OE~ekBIHDRQ}UiF==KuJp@oN<<@ddCrxIh0FJLx7Q8~fs zYHG(ZMzuSq>=GI02YeMwpKp=ay}Wy>0i9rsCiG%2+X!VqA)capq6v7aPGZV)*tzGy zJjS`NuV$i%))ZXy$LP<7`cUiwR(UET(;DsE@FJgWZfSKqf1eO5xe~+L=*)-z4Ngn{ z9{Z@Q$k2;r+M;vD55Rn+|06c5omu=?(Ne-_Mce zKO7B?fwI%f7-P$-8%nfKHK*{F^Im{a0BWR zXB+1tOYl_)iwxoIv_fXSdUbDfFqz%*Ue~ZU@&yaIDMjLVzdTTgiqhO+(dhqby7oXO z+c!K}IWuc%N^FiJVaPG3*_;m<`*J?yObC%vk#9nj({iYxFp8#+LfMBFjU46}A`xjh zCkko&-s=1P{r>m7_wzj0bKTc*(vs{bxG&D8~p3W_glvMReHkYS1w6NZ^t9rW<2x;nKV&q$UK~1Bh zQ6bdgK0o>zu=^t7w>GzDoHu^_#KZVxymX3x3D5SdWVgoVjw7S&6t!5zQQ;CmJ%d@W zyvsJ0I}OgfNG3BC#DyJiyHZ-X^17B{totpkfA6jimPg*pB3-5;M(mx>YwdE<*Z2N^ z8#(3Ie7ihc2*k_x&&NHHuUTvgd9-%G1e$4i-?Y3gpO<8VgbvQXI&wG{sVTc0-5RRH zdL4Z~P zKVd}GmqS!q(vZPV?mTDoLQ##y&!3J&+e33zaRWeJ=@u#^w+wCcNyP5;V)q1;l&W^#*aB~3XI=|hhcGMwe> zQ)*7DFch)VTX|E;k{Y>ktXr&D4OSH8r%K#Z>zR;}0{@yWA*Fuh(WRw9A62nOp`+(K zA57nBS0P)o49xGG!1srXF(&Kaf^lq{rg&(8lX(55jW1evZ9C_3QgnK@Rt7>|^1u9a z(c!(iDemndlkI&i4*19e(6d3T8TdxF@IQX1vms?Umh{k5B0YeQTwr|RyP_xl&Xqf? zQu9*+-k+a0Dyy&;6>X}*XJ{{P&BC)e>zd0}zOS&QUh~dN1$c8fNB2aw%)}Qclozca zyz%zHwd>?y@n3`V-LHXzzt(N--NK8f1SF%-@bKYR)aJ;A?)|n+sUQdmG&AlZ zC^QE~W>F9q8^al@Low=cS7Vl!W*0v-S2LpAlv`@5gVwdjoNYZy0EyLm4-W)!hB^{- zR>Ty?%%1QA`iPaoO(nSndFejD6EqV-a~tlL9&D@ILGKA8QXo)S-t25iNJSwYL&qLy zyM0OEmEpVzMFNI+jN{}u*ei;aFApRIG!O1AI)X|T_}_V$8~ZfO8D z1p*UeWm@V7gj$FVa13}3NNHHdlZ#`5@1Q>gj|;Di)e0W?5N~~R{bS{~&L7RSGRy+VGlkF+}UIVeeMPv7DACaJ~tdlJsjbTBsM^v4(JOU<(U#fq!Y-gxg6hpSRq<%<0q;dXweJpPZubY*a8rSz!jR9Tp?@ZhdrldJnV!juaWM-;H7CXNeN`0yiXh*>g&iJTm7G0VMtS~-zuny*$)?cNQ@szCUY7#!@GBO^>4YnYMg{qX zfY8xCIy_ZWsxXN&IQ1ur)qupRXxfsv{M)_3`h5Uwcfc)F=c3{3VV@2pvPN0qWID zSL7<5D)k`gj)dEMA((;Tg-flDx8(fqF2-xzJ#{pa|GnmEe6MzONiO-5SmuX*+a^tq zr8%SUaQ)WSW_4$67d0j5D)<7A`Dx!IL6jVSY<45p^@FECxn@#`p|lWbtaMbV$as>l zcaoVr;Phk9wDj|>ki(A2Jp>~%FB=?5R`824DK}hNyb=@J;xR=P7oXPGM-L3=nR8>z z2!*W-$QjX)>$=4Y(M?eGw_PbQ?O3Zc z;<h7mXj!Dw7Qq3T<2Vc(scxu<9 z+_y6F0A459%PxQ3r#YG#PQp_FYk<{56sTBN!{b}%Wyi2;o2tXN691;pM1B3s<+xUB zzrSsN*4(;f+q6fb(pqTz(wp-e?7!u^VQjCp9k|-|>`Ii=yDgJ~>-;^zK z{P7%8VPJ*W;X?qa`pLe@vG$SP(_V^^b#u$)PV}xta04}n_PEG6lozX*$pKvUR zqa^lKgSz3+CW+NG5}v-3_hh(W%*%-YNLk04H1!Y7Z3b*!y)?cXbG$bH$>*qts{G8H z_o1-P7ItWrlS0s^GRQw}U8-}V6LH!nj}eBT^=U*yLow)2VYnrG|K_qH^?+?}C`?lk z$~C*NevG4HnQhPw*I8>3dhxus5Qf25&}V=T+K0t9tW+>I+*Y8xE-+u$m)(uv250k+ zTvP5J7yX;zwgtMh6Y`YNIQ>$WFrN|v0f=}oFQNh3maJprR4*-z#HAL(v0GH)?jZv$&DxGk=-<#-gmfsVn42 z3j)EnVkB+A^(<4xHLPlQM|}8!Mg&tzI33E=o?hEZZKuZ@@V9rd2^QL{pveo3E^4Kx zMEI;;2Q@f9Hi)M6HwJ^N+D{XEigIU5Xk+sLHo}{`1}elDUCe6gk(#Qw*I4XD=D~oE z7>crc1NWu(+je~m&svDe^4m(FK%k?Dr0xJSlKQpOh!P7o5PZ&3;?DQi@gAPXq@^6R zUO7j|z-1i64}o&|T$&mlHk`e!%IIwvMH1)Mx6N|+y5WbDU4lDNlr{Fb#GC7aN!oe0 zHKu<<_g@-D03{GFuSiFS#j)u6YvBn9U|MD;$~{ zftlLkS(>3rIQOw{SKAU};u3(o>ejFcd(BPSloEP8q10-|(&b63L{Upbu9k(5F_B zFRcQpx1R{6(N^E7SFQCwZajgiM*|U>{{Mw#`M6Em5LF-zBaPYC6-Nc=QO2`-2NRWl zAkXA{!RQ3vSInPn_x!iTR#iE&Upq1vUcU8SJJrJRYV)i{2K)?j7&5E18@M?-(Yj{W zJJ-p1qqtwsIuBi0UELVM0g~zCNP?*Hw-@)`#=DIb_xB@-0B=6+PNtD>byf|}wP*;L zm>2QU_48wCPWJSAtBZHCeJs^#8{S><;u;qcO61(n;IZy%d;Ylq-N^B^*qB>kys=`nH#F^?*WCAV5(KHwfqNi0q~2A su#|>TAcLF_$&Dnb Date: Thu, 4 Sep 2014 12:21:19 +0300 Subject: [PATCH 069/107] Replace lena.tar with hopper.tar --- Tests/images/hopper.tar | Bin 0 -> 39424 bytes Tests/images/lena.tar | Bin 51200 -> 0 bytes Tests/test_file_tar.py | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 Tests/images/hopper.tar delete mode 100644 Tests/images/lena.tar diff --git a/Tests/images/hopper.tar b/Tests/images/hopper.tar new file mode 100644 index 0000000000000000000000000000000000000000..593429c9a0d2429c446018afec6145bf978a1b74 GIT binary patch literal 39424 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 Cbzph` literal 0 HcmV?d00001 diff --git a/Tests/images/lena.tar b/Tests/images/lena.tar deleted file mode 100644 index 3afb1f542405347b093062d8e9e96cae6fce3be8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51200 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 Date: Thu, 4 Sep 2014 12:28:37 +0300 Subject: [PATCH 070/107] Replace lena.spider with hopper.spider, created with Pillow. --- Tests/images/hopper.spider | Bin 0 -> 66560 bytes Tests/images/lena.spider | Bin 66560 -> 0 bytes Tests/test_file_spider.py | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 Tests/images/hopper.spider delete mode 100644 Tests/images/lena.spider diff --git a/Tests/images/hopper.spider b/Tests/images/hopper.spider new file mode 100644 index 0000000000000000000000000000000000000000..70e31b07c1b893b83d06035d208aac5a41d9406a GIT binary patch literal 66560 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 Ul%MRyKa05q3E;mB{A=6)4=Ow>djJ3c literal 0 HcmV?d00001 diff --git a/Tests/images/lena.spider b/Tests/images/lena.spider deleted file mode 100644 index df963c1c3cfa6b95f7337611c7b932edaa57b4a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66560 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 Oh5uaG?`2CbM*kmXvmjIe diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index 65e4d2782..7bfedad1a 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -1,9 +1,9 @@ -from helper import unittest, PillowTestCase, lena +from helper import unittest, PillowTestCase, hopper from PIL import Image from PIL import SpiderImagePlugin -TEST_FILE = "Tests/images/lena.spider" +TEST_FILE = "Tests/images/hopper.spider" class TestImageSpider(PillowTestCase): @@ -18,7 +18,7 @@ class TestImageSpider(PillowTestCase): def test_save(self): # Arrange temp = self.tempfile('temp.spider') - im = lena() + im = hopper() # Act im.save(temp, "SPIDER") @@ -44,7 +44,7 @@ class TestImageSpider(PillowTestCase): def test_loadImageSeries(self): # Arrange - not_spider_file = "Tests/images/lena.ppm" + not_spider_file = "Tests/images/hopper.ppm" file_list = [TEST_FILE, not_spider_file, "path/not_found.ext"] # Act From 4a243e90bc7e9cf713e01dc5193dbcf91e54fdc8 Mon Sep 17 00:00:00 2001 From: hugovk Date: Thu, 4 Sep 2014 12:59:03 +0300 Subject: [PATCH 071/107] Replace lena.ras with hopper.ras, created with ImageMagick: convert hopper.jpg hopper.ras --- Tests/images/hopper.ras | Bin 0 -> 49184 bytes Tests/images/lena.ras | Bin 49184 -> 0 bytes Tests/test_file_sun.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 Tests/images/hopper.ras delete mode 100644 Tests/images/lena.ras diff --git a/Tests/images/hopper.ras b/Tests/images/hopper.ras new file mode 100644 index 0000000000000000000000000000000000000000..70f3c80d0b7a196dc72f42d637888fdcf6a62569 GIT binary patch literal 49184 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 z Date: Thu, 4 Sep 2014 13:24:53 +0300 Subject: [PATCH 072/107] Replace lena.dcx with hopper.dcx. Created with ImageMagick: convert hopper.ppm hopper.dcx --- Tests/images/hopper.dcx | Bin 0 -> 55024 bytes Tests/images/lena.dcx | Bin 62138 -> 0 bytes Tests/test_file_dcx.py | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 Tests/images/hopper.dcx delete mode 100644 Tests/images/lena.dcx diff --git a/Tests/images/hopper.dcx b/Tests/images/hopper.dcx new file mode 100644 index 0000000000000000000000000000000000000000..ba6bd062e30b50cf4eb275dc3dcd3b533731b6b0 GIT binary patch literal 55024 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 Date: Thu, 4 Sep 2014 13:29:35 +0300 Subject: [PATCH 073/107] Replace lena.ico with hopper.ico. Created with ImageMagick: convert hopper.jpg -resize 16x16 hopper.ico --- Tests/images/hopper.ico | Bin 0 -> 1150 bytes Tests/images/lena.ico | Bin 1406 -> 0 bytes Tests/test_file_ico.py | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 Tests/images/hopper.ico delete mode 100644 Tests/images/lena.ico diff --git a/Tests/images/hopper.ico b/Tests/images/hopper.ico new file mode 100644 index 0000000000000000000000000000000000000000..0c6fd8c70f927ab483d12e6552d23e9a26b63eba GIT binary patch literal 1150 zcmbW1X;0i$6vqE-GcXIx3^O2Lh@ z@KY-ZdLf*=>|WZc+Q>~CCM>uFthW-Kq1n;OnW1sY%PR14b0^Il&(_96 zQjKQ(eKaJ;TB#5k8K!cA1B@u;GAgqYd9`j3rA&@WsleUM6}jO0s=e{?^x})9722Cy zkh!`NsMn!aC@?5x9MGsx$-H>8%!;k>4dL&GUaLbVX4VQXty0b0)D(&FsZ`s`Niv(! zduxaY2qeNkfFO-8z6uqe_SIsJP9P)8inl_Bk6MPOn86$!!~MO#c%^fdYfDcVA05S2 zk_ZqU{wggYS_4h_8T>fkMS7f(j-FenJx^lrD?p_SAv-yRx}kLfnQP-TV#xEVY0tNVdD)_OJ~R~U&L1PE|Y@y z_=C6j<>~-GFZQr|se=b|9i+u1WAalIq|9J&a+{h<+k_sw!ttS99OJ*^oc3Sti&q-p#cD#xDCIPojPSN0iR+^2nhpN8{~ zS)CeSZ{8_%+S!?D<$=J-Vmn>64cMY$F-Mp%=k<|RGDB+79M0L_s2kZKx8^!8J8$yY z*dV*pC;0wiBb!qWwk92nzdc61tpKY*PfBn&A+Z*YJKv{sdXKrKzv;RBl-CFDU_0jI zo?cfTo~oH zBa7v>JeFH+BHQ?~;|R&(ecCiWf)RpT3Uo$q7_hzoI$aOKj#4 zQsXq*tYH$f1_{m_Cn~oG^_f9Zb9&I78bh8nP2`zTlvz_4@;i~Ann9m8Om5*#lm)}Y z7MOiGza!0_C!ufv_1O_3^QH(bctTMAEV^P7DWwC16-{xx#DunG{3wew`m5| zh1aAv&7*C4P2R<)BwhH6=$5y{x4fb9$^^QLZ^^zqOX1ZC^q2l7x$PNc*TyMspQf^7 zlIo6G&bKeq*f~ks%_WSTFRAOErm4%U>t3Su-V8VHO>u7M6~)8L6q?>r^WY7A<4ZJ* z|3lxS1zI2e`>wZsZ$4t+!*ySNBFe6+?43R0w{x@Yh{YPq&$k3u)jl6~ed1_k`)Kv2 zmNu)@MT5&R`L}C?o5$8$dat*zKG%C}zuxubcbg}_wTxQ3*172HN~_D6OUqlv4t?{3 z|Hs+2JzKXn<0S$LQ$n z!u%^@E(uz9OG1nV3yZJQell6C>X6;qD~=64^LSBjjIU4lVB@W8g5c!zf@VXUv9*3~ c--;VIofPRO)6-9A&$ZvJNj&`ChkA$bKR(j;ssI20 diff --git a/Tests/test_file_ico.py b/Tests/test_file_ico.py index c3bf7a992..12f4ed3f3 100644 --- a/Tests/test_file_ico.py +++ b/Tests/test_file_ico.py @@ -3,14 +3,14 @@ from helper import unittest, PillowTestCase from PIL import Image # sample ppm stream -file = "Tests/images/lena.ico" -data = open(file, "rb").read() +TEST_ICO_FILE = "Tests/images/hopper.ico" +TEST_DATA = open(TEST_ICO_FILE, "rb").read() class TestFileIco(PillowTestCase): def test_sanity(self): - im = Image.open(file) + im = Image.open(TEST_ICO_FILE) im.load() self.assertEqual(im.mode, "RGBA") self.assertEqual(im.size, (16, 16)) From 9cde0aa7d693de7ca268a8f594ca442fa6c85dd3 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Thu, 4 Sep 2014 10:09:05 -0700 Subject: [PATCH 074/107] Updated Changes.rst (formatting) [ci skip] --- CHANGES.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index b8dbab630..8ce1a52ad 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ Changelog (Pillow) ------------------ - Fix for reading multipage TIFFs #885 - [kostrom, wiredfool] + [kostrom, wiredfool] - Correctly handle saving gray and CMYK JPEGs with quality-keep #857 [etienned] From 255a090e9777bf6323d216734c0e8ec08526d022 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 10 Sep 2014 10:41:46 +1000 Subject: [PATCH 075/107] Avoid resize operation if image is already the correct size --- PIL/Image.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PIL/Image.py b/PIL/Image.py index 5e1416a33..cd1e450ee 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -1514,6 +1514,9 @@ class Image: self.load() + if self.size == size: + return self._new(self.im) + if self.mode in ("1", "P"): resample = NEAREST From dd2608e1260a4933c0b9dfd78f0dcf4bdeb00647 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Wed, 10 Sep 2014 10:25:17 +0300 Subject: [PATCH 076/107] All network operations should be retried in order too prevent build failures due to network errors and large matrixes should fast finish. --- .travis.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 704c0d949..6226e5470 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,14 +16,14 @@ python: - 3.4 install: - - "sudo apt-get -qq install libfreetype6-dev liblcms2-dev python-qt4 ghostscript libffi-dev libjpeg-turbo-progs cmake imagemagick" - - "pip install cffi" - - "pip install coverage nose" + - "travis_retry sudo apt-get -qq install libfreetype6-dev liblcms2-dev python-qt4 ghostscript libffi-dev libjpeg-turbo-progs cmake imagemagick" + - "travis_retry pip install cffi" + - "travis_retry pip install coverage nose" # Pyroma installation is slow on Py3, so just do it for Py2. - if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then travis_retry pip install pyroma; fi - - if [ "$TRAVIS_PYTHON_VERSION" == "2.6" ]; then pip install unittest2; fi + - if [ "$TRAVIS_PYTHON_VERSION" == "2.6" ]; then travis_retry pip install unittest2; fi # webp - pushd depends && ./install_webp.sh && popd @@ -41,20 +41,20 @@ script: after_success: # gather the coverage data - - sudo apt-get -qq install lcov + - travis_retry sudo apt-get -qq install lcov - lcov --capture --directory . -b . --output-file coverage.info # filter to remove system headers - lcov --remove coverage.info '/usr/*' -o coverage.filtered.info # convert to json - - gem install coveralls-lcov + - travis_retry gem install coveralls-lcov - coveralls-lcov -v -n coverage.filtered.info > coverage.c.json - coverage report - - pip install coveralls-merge + - travis_retry pip install coveralls-merge - coveralls-merge coverage.c.json - - pip install pep8 pyflakes + - travis_retry pip install pep8 pyflakes - pep8 --statistics --count PIL/*.py - pep8 --statistics --count Tests/*.py - pyflakes PIL/*.py | tee >(wc -l) @@ -65,3 +65,5 @@ after_success: # (Installation is very slow on Py3, so just do it for Py2.) - if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then Scripts/diffcover-install.sh; fi - if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then Scripts/diffcover-run.sh; fi +matrix: + fast_finish: true From a2c2388dc81d34ba89b33148169da1e1abdbcfd6 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 10 Sep 2014 16:43:23 +0300 Subject: [PATCH 077/107] Add Landscape health badge [CI skip] See https://github.com/python-pillow/Pillow/issues/895 --- README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.rst b/README.rst index 482a1e2ec..d58666bc6 100644 --- a/README.rst +++ b/README.rst @@ -20,3 +20,6 @@ Pillow is the "friendly" PIL fork by `Alex Clark and Contributors Date: Wed, 10 Sep 2014 10:41:26 -0700 Subject: [PATCH 078/107] Update CHANGES.rst --- CHANGES.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 8ce1a52ad..266da354d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,10 +4,13 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Don't resize if already the right size. + [radarhere] + - Fix for reading multipage TIFFs #885 [kostrom, wiredfool] -- Correctly handle saving gray and CMYK JPEGs with quality-keep #857 +- Correctly handle saving gray and CMYK JPEGs with quality=keep #857 [etienned] - Correct duplicate Tiff Metadata and Exif tag values From ce0fcef5804c1e6e0803092d881b48ceb274fd19 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 12 Sep 2014 21:41:12 -0700 Subject: [PATCH 079/107] Don't test internal python functions --- Tests/test_file_eps.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 96b39b286..a17ce274f 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -167,7 +167,10 @@ class TestFileEps(PillowTestCase): def _test_readline_io(self, test_string, ending): import io - t = io.StringIO(test_string) + if str is bytes: + t = io.StringIO(unicode(test_string)) + else: + t = io.StringIO(test_string) self._test_readline(t, ending) def _test_readline_file_universal(self, test_string, ending): @@ -202,14 +205,23 @@ class TestFileEps(PillowTestCase): for ending in line_endings: s = ending.join(strings) - self._test_readline_stringio(s, ending) - self._test_readline_io(s, ending) - self._test_readline_file_universal(s, ending) + # Native python versions will pass these endings. + #self._test_readline_stringio(s, ending) + #self._test_readline_io(s, ending) + #self._test_readline_file_universal(s, ending) + + self._test_readline_file_psfile(s, ending) for ending in not_working_endings: # these only work with the PSFile, while they're in spec, # they're not likely to be used - s = ending.join(strings) + s = ending.join(strings) + + # Native python versions may fail on these endings. + #self._test_readline_stringio(s, ending) + #self._test_readline_io(s, ending) + #self._test_readline_file_universal(s, ending) + self._test_readline_file_psfile(s, ending) From 5ca57520b6d028b1a3ad81cbf927aa3ab219c9f1 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 11:39:57 +1000 Subject: [PATCH 080/107] Added Test for JPEG2000 memory leak, before the fix is added --- Tests/test_jp2k_leak.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Tests/test_jp2k_leak.py diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py new file mode 100644 index 000000000..ffd061e00 --- /dev/null +++ b/Tests/test_jp2k_leak.py @@ -0,0 +1,30 @@ +from helper import unittest, PillowTestCase, tearDownModule +import sys + +from PIL import Image +from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK + +# Limits for testing the leak +mem_limit = 512*1048576 +stack_size = 8*1048576 +iterations = (mem_limit/stack_size)*2 +codecs = dir(Image.core) +test_file = "Tests/images/rgb_trns_ycbc.jp2" + +@unittest.skipIf(sys.platform.startswith('win32'), "requires Unix or MacOS") +class TestJp2kLeak(PillowTestCase): + def setUp(self): + if "jpeg2k_encoder" not in codecs or "jpeg2k_decoder" not in codecs: + self.skipTest('JPEG 2000 support not available') + + def test_leak(self): + setrlimit(RLIMIT_STACK, (stack_size, stack_size)) + setrlimit(RLIMIT_AS, (mem_limit, mem_limit)) + for count in range(iterations): + with Image.open(test_file) as im: + im.load() + im.close() + + +if __name__ == '__main__': + unittest.main() From 3acb06e9d229f9d7208e4a93b74d821ac8a8a7e1 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 13:34:44 +1000 Subject: [PATCH 081/107] Added the JPEG2000 memory leak fix to decode.c --- decode.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/decode.c b/decode.c index e9aa6a387..c56f42592 100644 --- a/decode.c +++ b/decode.c @@ -103,6 +103,8 @@ PyImaging_DecoderNew(int contextsize) static void _dealloc(ImagingDecoderObject* decoder) { + if (decoder->cleanup) + decoder->cleanup(&decoder->state); free(decoder->state.buffer); free(decoder->state.context); Py_XDECREF(decoder->lock); From c134e5ab456f6b8ebd5a18c93d7554c9131fa39a Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 13:43:11 +1000 Subject: [PATCH 082/107] Moved resource import to inside the function --- Tests/test_jp2k_leak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index ffd061e00..35040df20 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -2,7 +2,6 @@ from helper import unittest, PillowTestCase, tearDownModule import sys from PIL import Image -from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK # Limits for testing the leak mem_limit = 512*1048576 @@ -18,6 +17,7 @@ class TestJp2kLeak(PillowTestCase): self.skipTest('JPEG 2000 support not available') def test_leak(self): + from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK setrlimit(RLIMIT_STACK, (stack_size, stack_size)) setrlimit(RLIMIT_AS, (mem_limit, mem_limit)) for count in range(iterations): From bc1e1c148cf339c9024fa0381fecab1019063401 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 13:44:38 +1000 Subject: [PATCH 083/107] Casting the iterations variable to integer --- Tests/test_jp2k_leak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 35040df20..5b5fd6ab2 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -6,7 +6,7 @@ from PIL import Image # Limits for testing the leak mem_limit = 512*1048576 stack_size = 8*1048576 -iterations = (mem_limit/stack_size)*2 +iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" From f632baf4dc2497baa10b4a439c7dc6f95a55a1e1 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 14:04:24 +1000 Subject: [PATCH 084/107] Increased testing limit from 512MB to 1GB --- Tests/test_jp2k_leak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 5b5fd6ab2..89419866c 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -4,7 +4,7 @@ import sys from PIL import Image # Limits for testing the leak -mem_limit = 512*1048576 +mem_limit = 1024*1048576 stack_size = 8*1048576 iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) From a944ec92509ccc83a4802d890d70256f33e868cf Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 14:17:51 +1000 Subject: [PATCH 085/107] Increaded memory limit to 1.5Gb --- Tests/test_jp2k_leak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 89419866c..7c91b4b85 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -4,7 +4,7 @@ import sys from PIL import Image # Limits for testing the leak -mem_limit = 1024*1048576 +mem_limit = 1536*1048576 stack_size = 8*1048576 iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) From dea36ae610b9dcc1c3b5c9a55c661192d21c9cab Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 14:27:34 +1000 Subject: [PATCH 086/107] Tying 2GB max memory --- Tests/test_jp2k_leak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 7c91b4b85..346416fe9 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -4,7 +4,7 @@ import sys from PIL import Image # Limits for testing the leak -mem_limit = 1536*1048576 +mem_limit = 2048*1048576 stack_size = 8*1048576 iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) From a1f66bf402da265279b87e4e384949772a18b49f Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 14:44:09 +1000 Subject: [PATCH 087/107] Added a check for PyPy, as it needs far more memory as CPython --- Tests/test_jp2k_leak.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 346416fe9..9b7db018f 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -1,10 +1,13 @@ from helper import unittest, PillowTestCase, tearDownModule import sys +from platform import python_implementation from PIL import Image # Limits for testing the leak -mem_limit = 2048*1048576 +mem_limit = 1024*1048576 +if python_implementation() == "PyPy": + mem_limit = 4096*1048576 stack_size = 8*1048576 iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) From 0cd1d9526daa9ab221c423b1caa8d2c37e8f1e9c Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Aug 2014 16:36:15 +1000 Subject: [PATCH 088/107] Reverted back to 512M, PyPy doesn't seem to work anyway --- Tests/test_jp2k_leak.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 9b7db018f..70ae04c79 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -1,13 +1,11 @@ from helper import unittest, PillowTestCase, tearDownModule import sys -from platform import python_implementation +from os import getpid from PIL import Image # Limits for testing the leak -mem_limit = 1024*1048576 -if python_implementation() == "PyPy": - mem_limit = 4096*1048576 +mem_limit = 512*1048576 stack_size = 8*1048576 iterations = int(mem_limit/stack_size)*2 codecs = dir(Image.core) From 5a47b2bc845b899bab46589bc5a5b57389ec9637 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Aug 2014 16:56:35 +1000 Subject: [PATCH 089/107] Sanity check :) --- Tests/test_jp2k_leak.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leak.py index 70ae04c79..4c3b5b365 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leak.py @@ -26,6 +26,18 @@ class TestJp2kLeak(PillowTestCase): im.load() im.close() + def self_sanity_check(self): + # Arrange + j2k = Image.open('Tests/images/rgb_trns_ycbc.j2k') + jp2 = Image.open('Tests/images/rgb_trns_ycbc.jp2') + + # Act + j2k.load() + jp2.load() + + # Assert + self.assertEqual(j2k.mode, 'RGBA') + self.assertEqual(jp2.mode, 'RGBA') if __name__ == '__main__': unittest.main() From 72e2a6cade4a17a964da6435eacb58478f783a08 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 22:22:35 +1000 Subject: [PATCH 090/107] Fix memory leak in JPEG2000 decoding, and JPEG decoding using PyPy --- .../{test_jp2k_leak.py => test_jp2k_leaks.py} | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) rename Tests/{test_jp2k_leak.py => test_jp2k_leaks.py} (63%) diff --git a/Tests/test_jp2k_leak.py b/Tests/test_jp2k_leaks.py similarity index 63% rename from Tests/test_jp2k_leak.py rename to Tests/test_jp2k_leaks.py index 4c3b5b365..1b7c68907 100644 --- a/Tests/test_jp2k_leak.py +++ b/Tests/test_jp2k_leaks.py @@ -1,18 +1,18 @@ from helper import unittest, PillowTestCase, tearDownModule import sys -from os import getpid +from StringIO import StringIO from PIL import Image # Limits for testing the leak -mem_limit = 512*1048576 +mem_limit = 768*1048576 stack_size = 8*1048576 -iterations = int(mem_limit/stack_size)*2 +iterations = int((mem_limit/stack_size)*20) codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" @unittest.skipIf(sys.platform.startswith('win32'), "requires Unix or MacOS") -class TestJp2kLeak(PillowTestCase): +class TestJpegLeaks(PillowTestCase): def setUp(self): if "jpeg2k_encoder" not in codecs or "jpeg2k_decoder" not in codecs: self.skipTest('JPEG 2000 support not available') @@ -24,20 +24,6 @@ class TestJp2kLeak(PillowTestCase): for count in range(iterations): with Image.open(test_file) as im: im.load() - im.close() - - def self_sanity_check(self): - # Arrange - j2k = Image.open('Tests/images/rgb_trns_ycbc.j2k') - jp2 = Image.open('Tests/images/rgb_trns_ycbc.jp2') - - # Act - j2k.load() - jp2.load() - - # Assert - self.assertEqual(j2k.mode, 'RGBA') - self.assertEqual(jp2.mode, 'RGBA') if __name__ == '__main__': unittest.main() From 7db19efe750ad9dc4b8dfc06d40d013e1ace51a9 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 22:25:23 +1000 Subject: [PATCH 091/107] Reduced JPEG2000 test iterations, and added cleanup for decoding using PyPy --- PIL/ImageFile.py | 2 ++ Tests/test_jp2k_leaks.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index 5e4745d76..0550137ea 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -227,6 +227,8 @@ class ImageFile(Image.Image): break b = b[n:] t = t + n + # Need to cleanup here to prevent leaks in PyPy + d.cleanup() self.tile = [] self.readonly = readonly diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index 1b7c68907..991a5cbf1 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -7,7 +7,7 @@ from PIL import Image # Limits for testing the leak mem_limit = 768*1048576 stack_size = 8*1048576 -iterations = int((mem_limit/stack_size)*20) +iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" From b78e5444f4c4725d24d9720f3b05a4c20d4c432d Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 00:01:20 +1000 Subject: [PATCH 092/107] Prevent multiple calls to ImagingIncrementalCodecDestroy --- libImaging/Jpeg2KDecode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libImaging/Jpeg2KDecode.c b/libImaging/Jpeg2KDecode.c index 97ec81003..1477e68b9 100644 --- a/libImaging/Jpeg2KDecode.c +++ b/libImaging/Jpeg2KDecode.c @@ -800,6 +800,9 @@ ImagingJpeg2KDecodeCleanup(ImagingCodecState state) { if (context->decoder) ImagingIncrementalCodecDestroy(context->decoder); + /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ + context->decoder = NULL; + return -1; } From bb738aef383a4df46b122cd910a4929a7fd8023c Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 00:15:19 +1000 Subject: [PATCH 093/107] Removed unnecessary StringIO dependency from JPEG2K leak test --- Tests/test_jp2k_leaks.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index 991a5cbf1..210e9ec62 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -1,7 +1,5 @@ from helper import unittest, PillowTestCase, tearDownModule import sys -from StringIO import StringIO - from PIL import Image # Limits for testing the leak @@ -11,6 +9,7 @@ iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" + @unittest.skipIf(sys.platform.startswith('win32'), "requires Unix or MacOS") class TestJpegLeaks(PillowTestCase): def setUp(self): From caa95a26b2a0f1bf001a314b3efa4fb5824aed64 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 15:30:31 +1000 Subject: [PATCH 094/107] Added memory leak fix and testing for Encoder --- PIL/ImageFile.py | 2 ++ Tests/test_jp2k_leaks.py | 21 ++++++++++++++++++++- encode.c | 13 +++++++++++++ libImaging/Jpeg2KEncode.c | 4 ++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index 0550137ea..bdcc769ec 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -473,6 +473,7 @@ def _save(im, fp, tile, bufsize=0): break if s < 0: raise IOError("encoder error %d when writing image file" % s) + e.cleanup() else: # slight speedup: compress to real file object for e, b, o, a in tile: @@ -483,6 +484,7 @@ def _save(im, fp, tile, bufsize=0): s = e.encode_to_file(fh, bufsize) if s < 0: raise IOError("encoder error %d when writing image file" % s) + e.cleanup() try: fp.flush() except: pass diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index 210e9ec62..f99c1e73a 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -8,6 +8,8 @@ stack_size = 8*1048576 iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" +from commands import getoutput +from os import getpid @unittest.skipIf(sys.platform.startswith('win32'), "requires Unix or MacOS") @@ -16,7 +18,7 @@ class TestJpegLeaks(PillowTestCase): if "jpeg2k_encoder" not in codecs or "jpeg2k_decoder" not in codecs: self.skipTest('JPEG 2000 support not available') - def test_leak(self): + def test_leak_load(self): from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK setrlimit(RLIMIT_STACK, (stack_size, stack_size)) setrlimit(RLIMIT_AS, (mem_limit, mem_limit)) @@ -24,5 +26,22 @@ class TestJpegLeaks(PillowTestCase): with Image.open(test_file) as im: im.load() + def test_leak_save(self): + from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK + try: + from cStringIO import StringIO + except ImportError: + from io import StringIO + setrlimit(RLIMIT_STACK, (stack_size, stack_size)) + setrlimit(RLIMIT_AS, (mem_limit, mem_limit)) + for count in range(iterations): + with Image.open(test_file) as im: + im.load() + test_output = StringIO() + im.save(test_output, "JPEG2000") + test_output.seek(0) + output = test_output.read() + + if __name__ == '__main__': unittest.main() diff --git a/encode.c b/encode.c index 3fa900b1d..34e3b8933 100644 --- a/encode.c +++ b/encode.c @@ -99,6 +99,18 @@ _dealloc(ImagingEncoderObject* encoder) PyObject_Del(encoder); } +static PyObject* +_encode_cleanup(ImagingEncoderObject* encoder, PyObject* args) +{ + int status = 0; + + if (encoder->cleanup){ + status = encoder->cleanup(&encoder->state); + } + + return Py_BuildValue("i", status); +} + static PyObject* _encode(ImagingEncoderObject* encoder, PyObject* args) { @@ -239,6 +251,7 @@ _setimage(ImagingEncoderObject* encoder, PyObject* args) static struct PyMethodDef methods[] = { {"encode", (PyCFunction)_encode, 1}, + {"cleanup", (PyCFunction)_encode_cleanup, 1}, {"encode_to_file", (PyCFunction)_encode_to_file, 1}, {"setimage", (PyCFunction)_setimage, 1}, {NULL, NULL} /* sentinel */ diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c index e8eef08c1..b4c5284cb 100644 --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -585,6 +585,10 @@ ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { if (context->encoder) ImagingIncrementalCodecDestroy(context->encoder); + /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ + context->encoder = NULL; + + return -1; } From e791aa0325abd285b4b966d0a391fb3c1ee55bac Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 15:42:43 +1000 Subject: [PATCH 095/107] Removed unneeded dependencies --- Tests/test_jp2k_leaks.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index f99c1e73a..332520efb 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -8,8 +8,6 @@ stack_size = 8*1048576 iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) test_file = "Tests/images/rgb_trns_ycbc.jp2" -from commands import getoutput -from os import getpid @unittest.skipIf(sys.platform.startswith('win32'), "requires Unix or MacOS") From 11e34d695a651f155aea4828dc8bb7018f6f1204 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 16:03:07 +1000 Subject: [PATCH 096/107] Inwcreased max memory limit, and switched save test to use BytesIO instead of StringIO --- Tests/test_jp2k_leaks.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index 332520efb..b0d84f47f 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -1,9 +1,10 @@ from helper import unittest, PillowTestCase, tearDownModule import sys from PIL import Image +from io import BytesIO # Limits for testing the leak -mem_limit = 768*1048576 +mem_limit = 1024*1048576 stack_size = 8*1048576 iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) @@ -26,16 +27,12 @@ class TestJpegLeaks(PillowTestCase): def test_leak_save(self): from resource import setrlimit, RLIMIT_AS, RLIMIT_STACK - try: - from cStringIO import StringIO - except ImportError: - from io import StringIO setrlimit(RLIMIT_STACK, (stack_size, stack_size)) setrlimit(RLIMIT_AS, (mem_limit, mem_limit)) for count in range(iterations): with Image.open(test_file) as im: im.load() - test_output = StringIO() + test_output = BytesIO() im.save(test_output, "JPEG2000") test_output.seek(0) output = test_output.read() From dace8913b89e9f6d79fcdd39a5a17940c50faf41 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 16:40:38 +1000 Subject: [PATCH 097/107] Increase memory yet again --- Tests/test_jp2k_leaks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index b0d84f47f..d93fde71f 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -4,7 +4,7 @@ from PIL import Image from io import BytesIO # Limits for testing the leak -mem_limit = 1024*1048576 +mem_limit = 2048*1048576 stack_size = 8*1048576 iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) From 3da6768a7227cacdc4b21d5292be0dd7ae5c4179 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 18:50:57 +1000 Subject: [PATCH 098/107] Testing whether e.cleanup causes segfaults --- PIL/ImageFile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index bdcc769ec..81549d8af 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -473,7 +473,7 @@ def _save(im, fp, tile, bufsize=0): break if s < 0: raise IOError("encoder error %d when writing image file" % s) - e.cleanup() + #e.cleanup() else: # slight speedup: compress to real file object for e, b, o, a in tile: @@ -484,7 +484,7 @@ def _save(im, fp, tile, bufsize=0): s = e.encode_to_file(fh, bufsize) if s < 0: raise IOError("encoder error %d when writing image file" % s) - e.cleanup() + #e.cleanup() try: fp.flush() except: pass From 7407371deb8b87e3049c9f1e8b04eac04a1fe6cc Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 19:13:42 +1000 Subject: [PATCH 099/107] NULLing pointers on cleanup --- PIL/ImageFile.py | 8 ++++---- libImaging/Jpeg2KDecode.c | 38 ++++++++++++++++++++------------------ libImaging/Jpeg2KEncode.c | 10 ++++++---- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index 81549d8af..1b5c2ebb2 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -135,8 +135,8 @@ class ImageFile(Image.Image): self.map = None use_mmap = self.filename and len(self.tile) == 1 # As of pypy 2.1.0, memory mapping was failing here. - use_mmap = use_mmap and not hasattr(sys, 'pypy_version_info') - + use_mmap = use_mmap and not hasattr(sys, 'pypy_version_info') + readonly = 0 # look for read/seek overrides @@ -473,7 +473,7 @@ def _save(im, fp, tile, bufsize=0): break if s < 0: raise IOError("encoder error %d when writing image file" % s) - #e.cleanup() + e.cleanup() else: # slight speedup: compress to real file object for e, b, o, a in tile: @@ -484,7 +484,7 @@ def _save(im, fp, tile, bufsize=0): s = e.encode_to_file(fh, bufsize) if s < 0: raise IOError("encoder error %d when writing image file" % s) - #e.cleanup() + e.cleanup() try: fp.flush() except: pass diff --git a/libImaging/Jpeg2KDecode.c b/libImaging/Jpeg2KDecode.c index 1477e68b9..bd6b59a62 100644 --- a/libImaging/Jpeg2KDecode.c +++ b/libImaging/Jpeg2KDecode.c @@ -68,7 +68,7 @@ j2k_skip(OPJ_OFF_T p_nb_bytes, void *p_user_data) typedef void (*j2k_unpacker_t)(opj_image_t *in, const JPEG2KTILEINFO *tileInfo, - const UINT8 *data, + const UINT8 *data, Imaging im); struct j2k_decode_unpacker { @@ -335,7 +335,7 @@ j2ku_srgb_rgb(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row = (UINT8 *)im->image[y0 + y] + x0 * 4; for (n = 0; n < 3; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 3; ++n) { UINT32 word = 0; @@ -388,7 +388,7 @@ j2ku_sycc_rgb(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row_start = row; for (n = 0; n < 3; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 3; ++n) { UINT32 word = 0; @@ -442,7 +442,7 @@ j2ku_srgba_rgba(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row = (UINT8 *)im->image[y0 + y] + x0 * 4; for (n = 0; n < 4; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 4; ++n) { UINT32 word = 0; @@ -494,7 +494,7 @@ j2ku_sycca_rgba(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row_start = row; for (n = 0; n < 4; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 4; ++n) { UINT32 word = 0; @@ -587,13 +587,13 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, /* Setup decompression context */ context->error_msg = NULL; - + opj_set_default_decoder_parameters(¶ms); params.cp_reduce = context->reduce; params.cp_layer = context->layers; - + codec = opj_create_decompress(context->format); - + if (!codec) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; @@ -616,7 +616,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, state->state = J2K_STATE_FAILED; goto quick_exit; } - + for (n = 1; n < image->numcomps; ++n) { if (image->comps[n].dx != 1 || image->comps[n].dy != 1) { state->errcode = IMAGING_CODEC_BROKEN; @@ -624,8 +624,8 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, goto quick_exit; } } - - /* + + /* Colorspace Number of components PIL mode ------------------------------------------------------ sRGB 3 RGB @@ -633,22 +633,22 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, gray 1 L or I gray 2 LA YCC 3 YCbCr - - + + If colorspace is unspecified, we assume: - + Number of components Colorspace ----------------------------------------- 1 gray 2 gray (+ alpha) 3 sRGB 4 sRGB (+ alpha) - + */ - + /* Find the correct unpacker */ color_space = image->color_space; - + if (color_space == OPJ_CLRSPC_UNSPECIFIED) { switch (image->numcomps) { case 1: case 2: color_space = OPJ_CLRSPC_GRAY; break; @@ -668,7 +668,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, if (!unpack) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; - goto quick_exit; + goto quick_exit; } /* Decode the image tile-by-tile; this means we only need use as much @@ -797,6 +797,8 @@ ImagingJpeg2KDecodeCleanup(ImagingCodecState state) { if (context->error_msg) free ((void *)context->error_msg); + context->error_msg = NULL; + if (context->decoder) ImagingIncrementalCodecDestroy(context->decoder); diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c index b4c5284cb..5d6caf30c 100644 --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -303,7 +303,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state, prec = 16; bpp = 12; } else if (strcmp (im->mode, "LA") == 0) { - components = 2; + components = 2; color_space = OPJ_CLRSPC_GRAY; pack = j2k_pack_la; } else if (strcmp (im->mode, "RGB") == 0) { @@ -340,7 +340,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state, context->error_msg = NULL; opj_set_default_encoder_parameters(¶ms); - + params.image_offset_x0 = context->offset_x; params.image_offset_y0 = context->offset_y; @@ -546,8 +546,8 @@ ImagingJpeg2KEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) return -1; if (state->state == J2K_STATE_START) { - int seekable = (context->format != OPJ_CODEC_J2K - ? INCREMENTAL_CODEC_SEEKABLE + int seekable = (context->format != OPJ_CODEC_J2K + ? INCREMENTAL_CODEC_SEEKABLE : INCREMENTAL_CODEC_NOT_SEEKABLE); context->encoder = ImagingIncrementalCodecCreate(j2k_encode_entry, @@ -582,6 +582,8 @@ ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { if (context->error_msg) free ((void *)context->error_msg); + context->error_msg = NULL; + if (context->encoder) ImagingIncrementalCodecDestroy(context->encoder); From 9ccc9307841bd8649d32fad91d2853bae6d436e0 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 19:21:40 +1000 Subject: [PATCH 100/107] Looking for cleanup segfault --- libImaging/Jpeg2KEncode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) mode change 100644 => 100755 libImaging/Jpeg2KEncode.c diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c old mode 100644 new mode 100755 index 5d6caf30c..1ed5e08fc --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -584,11 +584,11 @@ ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { context->error_msg = NULL; - if (context->encoder) - ImagingIncrementalCodecDestroy(context->encoder); + //if (context->encoder) + // ImagingIncrementalCodecDestroy(context->encoder); /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ - context->encoder = NULL; + //context->encoder = NULL; return -1; From e4e1f5c2d4146d42806684f7603819f196b3b67e Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 19:30:19 +1000 Subject: [PATCH 101/107] More testing... --- libImaging/Jpeg2KEncode.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c index 1ed5e08fc..e7b5a78c3 100755 --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -576,13 +576,13 @@ int ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { JPEG2KENCODESTATE *context = (JPEG2KENCODESTATE *)state->context; - if (context->quality_layers) - Py_DECREF(context->quality_layers); + //if (context->quality_layers) + // Py_DECREF(context->quality_layers); - if (context->error_msg) - free ((void *)context->error_msg); + //if (context->error_msg) + // free ((void *)context->error_msg); - context->error_msg = NULL; + //context->error_msg = NULL; //if (context->encoder) // ImagingIncrementalCodecDestroy(context->encoder); From dd221d9ec061d51b53c5f07daef044f92bb5a2e5 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Wed, 27 Aug 2014 19:54:33 +1000 Subject: [PATCH 102/107] Don't Py_DECREF context->quality_layers if there is no encoder --- libImaging/Jpeg2KEncode.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c index e7b5a78c3..d493cd637 100755 --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -555,7 +555,6 @@ ImagingJpeg2KEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) INCREMENTAL_CODEC_WRITE, seekable, context->fd); - if (!context->encoder) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; @@ -576,19 +575,19 @@ int ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { JPEG2KENCODESTATE *context = (JPEG2KENCODESTATE *)state->context; - //if (context->quality_layers) - // Py_DECREF(context->quality_layers); + if (context->quality_layers && context->encoder) + Py_DECREF(context->quality_layers); - //if (context->error_msg) - // free ((void *)context->error_msg); + if (context->error_msg) + free ((void *)context->error_msg); - //context->error_msg = NULL; + context->error_msg = NULL; - //if (context->encoder) - // ImagingIncrementalCodecDestroy(context->encoder); + if (context->encoder) + ImagingIncrementalCodecDestroy(context->encoder); - /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ - //context->encoder = NULL; + /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ + context->encoder = NULL; return -1; From 94194ed24803249c379e65c57e7aab6c3f208b47 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Thu, 28 Aug 2014 21:33:18 +1000 Subject: [PATCH 103/107] Cleaning up. Reduced memory limit to 1GB --- PIL/ImageFile.py | 4 ++-- Tests/test_jp2k_leaks.py | 2 +- libImaging/Jpeg2KDecode.c | 40 +++++++++++++++++++-------------------- libImaging/Jpeg2KEncode.c | 10 +++++----- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index 1b5c2ebb2..bdcc769ec 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -135,8 +135,8 @@ class ImageFile(Image.Image): self.map = None use_mmap = self.filename and len(self.tile) == 1 # As of pypy 2.1.0, memory mapping was failing here. - use_mmap = use_mmap and not hasattr(sys, 'pypy_version_info') - + use_mmap = use_mmap and not hasattr(sys, 'pypy_version_info') + readonly = 0 # look for read/seek overrides diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py index d93fde71f..b0d84f47f 100644 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -4,7 +4,7 @@ from PIL import Image from io import BytesIO # Limits for testing the leak -mem_limit = 2048*1048576 +mem_limit = 1024*1048576 stack_size = 8*1048576 iterations = int((mem_limit/stack_size)*2) codecs = dir(Image.core) diff --git a/libImaging/Jpeg2KDecode.c b/libImaging/Jpeg2KDecode.c index bd6b59a62..abf8cebbe 100644 --- a/libImaging/Jpeg2KDecode.c +++ b/libImaging/Jpeg2KDecode.c @@ -68,7 +68,7 @@ j2k_skip(OPJ_OFF_T p_nb_bytes, void *p_user_data) typedef void (*j2k_unpacker_t)(opj_image_t *in, const JPEG2KTILEINFO *tileInfo, - const UINT8 *data, + const UINT8 *data, Imaging im); struct j2k_decode_unpacker { @@ -335,7 +335,7 @@ j2ku_srgb_rgb(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row = (UINT8 *)im->image[y0 + y] + x0 * 4; for (n = 0; n < 3; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 3; ++n) { UINT32 word = 0; @@ -388,7 +388,7 @@ j2ku_sycc_rgb(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row_start = row; for (n = 0; n < 3; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 3; ++n) { UINT32 word = 0; @@ -442,7 +442,7 @@ j2ku_srgba_rgba(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row = (UINT8 *)im->image[y0 + y] + x0 * 4; for (n = 0; n < 4; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 4; ++n) { UINT32 word = 0; @@ -494,7 +494,7 @@ j2ku_sycca_rgba(opj_image_t *in, const JPEG2KTILEINFO *tileinfo, UINT8 *row_start = row; for (n = 0; n < 4; ++n) data[n] = &cdata[n][csiz[n] * y * w]; - + for (x = 0; x < w; ++x) { for (n = 0; n < 4; ++n) { UINT32 word = 0; @@ -587,13 +587,13 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, /* Setup decompression context */ context->error_msg = NULL; - + opj_set_default_decoder_parameters(¶ms); params.cp_reduce = context->reduce; params.cp_layer = context->layers; - + codec = opj_create_decompress(context->format); - + if (!codec) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; @@ -616,7 +616,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, state->state = J2K_STATE_FAILED; goto quick_exit; } - + for (n = 1; n < image->numcomps; ++n) { if (image->comps[n].dx != 1 || image->comps[n].dy != 1) { state->errcode = IMAGING_CODEC_BROKEN; @@ -624,8 +624,8 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, goto quick_exit; } } - - /* + + /* Colorspace Number of components PIL mode ------------------------------------------------------ sRGB 3 RGB @@ -633,22 +633,22 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, gray 1 L or I gray 2 LA YCC 3 YCbCr - - + + If colorspace is unspecified, we assume: - + Number of components Colorspace ----------------------------------------- 1 gray 2 gray (+ alpha) 3 sRGB 4 sRGB (+ alpha) - + */ - + /* Find the correct unpacker */ color_space = image->color_space; - + if (color_space == OPJ_CLRSPC_UNSPECIFIED) { switch (image->numcomps) { case 1: case 2: color_space = OPJ_CLRSPC_GRAY; break; @@ -668,7 +668,7 @@ j2k_decode_entry(Imaging im, ImagingCodecState state, if (!unpack) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; - goto quick_exit; + goto quick_exit; } /* Decode the image tile-by-tile; this means we only need use as much @@ -797,11 +797,11 @@ ImagingJpeg2KDecodeCleanup(ImagingCodecState state) { if (context->error_msg) free ((void *)context->error_msg); - context->error_msg = NULL; - if (context->decoder) ImagingIncrementalCodecDestroy(context->decoder); + context->error_msg = NULL; + /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ context->decoder = NULL; diff --git a/libImaging/Jpeg2KEncode.c b/libImaging/Jpeg2KEncode.c index d493cd637..ea4bca2f2 100755 --- a/libImaging/Jpeg2KEncode.c +++ b/libImaging/Jpeg2KEncode.c @@ -303,7 +303,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state, prec = 16; bpp = 12; } else if (strcmp (im->mode, "LA") == 0) { - components = 2; + components = 2; color_space = OPJ_CLRSPC_GRAY; pack = j2k_pack_la; } else if (strcmp (im->mode, "RGB") == 0) { @@ -340,7 +340,7 @@ j2k_encode_entry(Imaging im, ImagingCodecState state, context->error_msg = NULL; opj_set_default_encoder_parameters(¶ms); - + params.image_offset_x0 = context->offset_x; params.image_offset_y0 = context->offset_y; @@ -546,8 +546,8 @@ ImagingJpeg2KEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) return -1; if (state->state == J2K_STATE_START) { - int seekable = (context->format != OPJ_CODEC_J2K - ? INCREMENTAL_CODEC_SEEKABLE + int seekable = (context->format != OPJ_CODEC_J2K + ? INCREMENTAL_CODEC_SEEKABLE : INCREMENTAL_CODEC_NOT_SEEKABLE); context->encoder = ImagingIncrementalCodecCreate(j2k_encode_entry, @@ -555,6 +555,7 @@ ImagingJpeg2KEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) INCREMENTAL_CODEC_WRITE, seekable, context->fd); + if (!context->encoder) { state->errcode = IMAGING_CODEC_BROKEN; state->state = J2K_STATE_FAILED; @@ -589,7 +590,6 @@ ImagingJpeg2KEncodeCleanup(ImagingCodecState state) { /* Prevent multiple calls to ImagingIncrementalCodecDestroy */ context->encoder = NULL; - return -1; } From b07baf4549829dd81703ad9e6c59c0dd7feb6de1 Mon Sep 17 00:00:00 2001 From: Josh Ware Date: Tue, 26 Aug 2014 13:22:53 +1000 Subject: [PATCH 104/107] Removed tearDownModule from Test import --- Tests/test_jp2k_leaks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 Tests/test_jp2k_leaks.py diff --git a/Tests/test_jp2k_leaks.py b/Tests/test_jp2k_leaks.py old mode 100644 new mode 100755 index b0d84f47f..9dbb8c1f4 --- a/Tests/test_jp2k_leaks.py +++ b/Tests/test_jp2k_leaks.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, tearDownModule +from helper import unittest, PillowTestCase import sys from PIL import Image from io import BytesIO From 922a040629aeaeaa7700c0c7fd28b8abf955f7db Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 12 Sep 2014 22:45:02 -0700 Subject: [PATCH 105/107] Don't run memory leak test automatically. --- Tests/{test_jp2k_leaks.py => check_j2k_leaks.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tests/{test_jp2k_leaks.py => check_j2k_leaks.py} (100%) diff --git a/Tests/test_jp2k_leaks.py b/Tests/check_j2k_leaks.py similarity index 100% rename from Tests/test_jp2k_leaks.py rename to Tests/check_j2k_leaks.py From 02c8188060abca0d5185828d8b824794bb254026 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 13 Sep 2014 18:32:18 +0300 Subject: [PATCH 106/107] Update CHANGES.rst [CI skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 266da354d..cc92eba8d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,12 @@ Changelog (Pillow) 2.6.0 (unreleased) ------------------ +- Jpeg2k Decode/Encode Memory Leak Fix #898 + [joshware, wiredfool] + +- EpsFilePlugin Speed improvements #886 + [wiredfool, karstenw] + - Don't resize if already the right size. [radarhere] From b1187c7dc7d91086602c6c6546ce7d9df9cdcb21 Mon Sep 17 00:00:00 2001 From: tyrannosaurus Date: Sat, 13 Sep 2014 20:36:14 +0400 Subject: [PATCH 107/107] Fix heading --- docs/handbook/image-file-formats.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index 97caea722..cd187a4a2 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -670,6 +670,7 @@ files, using either JPEG or HEX encoding depending on the image mode (and whether JPEG support is available or not). PIXAR (read only) +^^^^ PIL provides limited support for PIXAR raster files. The library can identify and read “dumped” RGB files.