Filippo Giunchedi has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/379218 )
Change subject: Upgrade to 1.5 ...................................................................... Upgrade to 1.5 Bug: T173804 Change-Id: I6722fb03cb922ac1d1e2cdee6538503e83bff0a2 --- M debian/changelog M setup.py A tests/integration/originals/Carrie.jpg A tests/integration/originals/Cerkiew.jpg A tests/integration/originals/Rostockstein.jpg M tests/integration/test_exif.py M tests/integration/test_types.py A tests/integration/thumbnails/394px-Rostockstein.jpg A tests/integration/thumbnails/447px-Cerkiew.jpg A tests/integration/thumbnails/450px-Carrie.jpg M wikimedia_thumbor/engine/imagemagick/imagemagick.py 11 files changed, 54 insertions(+), 12 deletions(-) Approvals: jenkins-bot: Verified Filippo Giunchedi: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index 0083817..8d6bb7e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +python-thumbor-wikimedia (1.5-1) jessie-wikimedia; urgency=low + + * New upstream release + + -- Gilles Dubuc <gil...@wikimedia.org> Wed, 20 Sep 2017 11:38:00 +0000 + python-thumbor-wikimedia (1.4-1) jessie-wikimedia; urgency=low * New upstream release diff --git a/setup.py b/setup.py index 7557cf9..f1adefd 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name='wikimedia_thumbor', - version='1.4', + version='1.5', url='https://phabricator.wikimedia.org/diffusion/THMBREXT/', license='MIT', author='Gilles Dubuc, Wikimedia Foundation', diff --git a/tests/integration/originals/Carrie.jpg b/tests/integration/originals/Carrie.jpg new file mode 100644 index 0000000..7df6e29 --- /dev/null +++ b/tests/integration/originals/Carrie.jpg Binary files differ diff --git a/tests/integration/originals/Cerkiew.jpg b/tests/integration/originals/Cerkiew.jpg new file mode 100644 index 0000000..65a44dd --- /dev/null +++ b/tests/integration/originals/Cerkiew.jpg Binary files differ diff --git a/tests/integration/originals/Rostockstein.jpg b/tests/integration/originals/Rostockstein.jpg new file mode 100644 index 0000000..83add6d --- /dev/null +++ b/tests/integration/originals/Rostockstein.jpg Binary files differ diff --git a/tests/integration/test_exif.py b/tests/integration/test_exif.py index 4ce4879..154019b 100644 --- a/tests/integration/test_exif.py +++ b/tests/integration/test_exif.py @@ -102,7 +102,7 @@ None ) - def test_exif_rotation(self): + def test_exif_orientation(self): self.run_and_check_ssim_size_and_exif( 'thumbor/unsafe/40x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/EXIF_rotation_180.jpg', '40px-EXIF_rotation_180.jpg', @@ -111,6 +111,42 @@ None, None ) + self.run_and_check_ssim_size_and_exif( + ('thumbor/unsafe/337x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/' + 'Green_and_golden_Butterfly_copy.jpg'), + '337px-Green_and_golden_Butterfly_copy.jpg', + 0.97, + 1.0, + None, + None + ) + self.run_and_check_ssim_size_and_exif( + ('thumbor/unsafe/394x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/' + 'Rostockstein.jpg'), + '394px-Rostockstein.jpg', + 0.92, + 1.0, + None, + None + ) + self.run_and_check_ssim_size_and_exif( + ('thumbor/unsafe/450x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/' + 'Carrie.jpg'), + '450px-Carrie.jpg', + 0.96, + 1.0, + None, + None + ) + self.run_and_check_ssim_size_and_exif( + ('thumbor/unsafe/447x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/' + 'Cerkiew.jpg'), + '447px-Cerkiew.jpg', + 0.91, + 1.0, + None, + None + ) def test_tinyrgb_substitution(self): tinyrgb_path = os.path.join( diff --git a/tests/integration/test_types.py b/tests/integration/test_types.py index 5acaeda..473e55e 100644 --- a/tests/integration/test_types.py +++ b/tests/integration/test_types.py @@ -13,15 +13,6 @@ 1.0 ) - def test_portrait_jpg(self): - self.run_and_check_ssim_and_size( - ('thumbor/unsafe/337x/filters:conditional_sharpen(0.0,0.8,1.0,0.0,0.85)/' - 'Green_and_golden_Butterfly_copy.jpg'), - '337px-Green_and_golden_Butterfly_copy.jpg', - 0.97, - 1.0 - ) - def test_djvu(self): self.run_and_check_ssim_and_size( 'thumbor/unsafe/400x/filters:page(2)/Il_cavallarizzo.djvu', diff --git a/tests/integration/thumbnails/394px-Rostockstein.jpg b/tests/integration/thumbnails/394px-Rostockstein.jpg new file mode 100644 index 0000000..84f32ef --- /dev/null +++ b/tests/integration/thumbnails/394px-Rostockstein.jpg Binary files differ diff --git a/tests/integration/thumbnails/447px-Cerkiew.jpg b/tests/integration/thumbnails/447px-Cerkiew.jpg new file mode 100644 index 0000000..316080d --- /dev/null +++ b/tests/integration/thumbnails/447px-Cerkiew.jpg Binary files differ diff --git a/tests/integration/thumbnails/450px-Carrie.jpg b/tests/integration/thumbnails/450px-Carrie.jpg new file mode 100644 index 0000000..a663308 --- /dev/null +++ b/tests/integration/thumbnails/450px-Carrie.jpg Binary files differ diff --git a/wikimedia_thumbor/engine/imagemagick/imagemagick.py b/wikimedia_thumbor/engine/imagemagick/imagemagick.py index df1b073..69cd38d 100644 --- a/wikimedia_thumbor/engine/imagemagick/imagemagick.py +++ b/wikimedia_thumbor/engine/imagemagick/imagemagick.py @@ -340,7 +340,16 @@ def reorientate(self): self.debug('[IM] reorientate') - self.queue_operators(['-auto-orient']) + # T173804 Avoid ImageMagick -auto-orient which is overzealous + # in interpreting various EXIF fields instead of just Orientation + + if 'Orientation' in self.exif: + if '90' in self.exif['Orientation']: + self.queue_operators(['-rotate', '90']) + elif '270' in self.exif['Orientation']: + self.queue_operators(['-rotate', '270']) + elif '180' in self.exif['Orientation']: + self.queue_operators(['-rotate', '180']) def image_data_as_rgb(self, update_image=True): self.debug('[IM] image_data_as_rgb: %r' % update_image) -- To view, visit https://gerrit.wikimedia.org/r/379218 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6722fb03cb922ac1d1e2cdee6538503e83bff0a2 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/python-thumbor-wikimedia Gerrit-Branch: master Gerrit-Owner: Gilles <gdu...@wikimedia.org> Gerrit-Reviewer: Filippo Giunchedi <fgiunch...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits