Gilles has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/376674 )
Change subject: Upgrade to 1.3 ...................................................................... Upgrade to 1.3 Bug: T173580 Change-Id: I3481d14738b74497e35cd7ca41ad3bc44ead28f4 --- M debian/changelog M setup.py M tests/integration/__init__.py A tests/integration/originals/Tranylcypromine3DanJ.gif M tests/integration/test_types.py A tests/integration/thumbnails/300px-Tranylcypromine3DanJ.gif M wikimedia_thumbor/engine/gif/gif.py 7 files changed, 26 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/debs/python-thumbor-wikimedia refs/changes/74/376674/1 diff --git a/debian/changelog b/debian/changelog index de09b02..4f84872 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +python-thumbor-wikimedia (1.3-1) jessie-wikimedia; urgency=low + + * New upstream release + + -- Gilles Dubuc <gil...@wikimedia.org> Fri, 8 Sep 2017 09:16:00 +0000 + python-thumbor-wikimedia (1.2-1) jessie-wikimedia; urgency=low * New upstream release diff --git a/setup.py b/setup.py index 8be78be..73d3b90 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name='wikimedia_thumbor', - version='1.2', + version='1.3', url='https://phabricator.wikimedia.org/diffusion/THMBREXT/', license='MIT', author='Gilles Dubuc, Wikimedia Foundation', diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py index 850fe2a..40cf9f4 100644 --- a/tests/integration/__init__.py +++ b/tests/integration/__init__.py @@ -62,6 +62,7 @@ cfg.QUALITY = 79 cfg.QUALITY_LOW = 40 cfg.DEFAULT_FILTERS_JPEG = 'conditional_sharpen(0.0,0.8,1.0,0.0,0.85)' + cfg.MAX_ANIMATED_GIF_AREA = 140000 cfg.COMMUNITY_EXTENSIONS = [ 'wikimedia_thumbor.handler.multi', diff --git a/tests/integration/originals/Tranylcypromine3DanJ.gif b/tests/integration/originals/Tranylcypromine3DanJ.gif new file mode 100644 index 0000000..f961b6b --- /dev/null +++ b/tests/integration/originals/Tranylcypromine3DanJ.gif Binary files differ diff --git a/tests/integration/test_types.py b/tests/integration/test_types.py index 5719980..5acaeda 100644 --- a/tests/integration/test_types.py +++ b/tests/integration/test_types.py @@ -247,6 +247,13 @@ 1.0, 1.1 ) + # Animated GIF that triggers MAX_ANIMATED_GIF_AREA + self.run_and_check_ssim_and_size( + 'thumbor/unsafe/300x/Tranylcypromine3DanJ.gif', + '300px-Tranylcypromine3DanJ.gif', + 1.0, + 1.0 + ) def test_webp(self): self.run_and_check_ssim_and_size( diff --git a/tests/integration/thumbnails/300px-Tranylcypromine3DanJ.gif b/tests/integration/thumbnails/300px-Tranylcypromine3DanJ.gif new file mode 100644 index 0000000..9a82b72 --- /dev/null +++ b/tests/integration/thumbnails/300px-Tranylcypromine3DanJ.gif Binary files differ diff --git a/wikimedia_thumbor/engine/gif/gif.py b/wikimedia_thumbor/engine/gif/gif.py index 5dfee68..bf016e0 100644 --- a/wikimedia_thumbor/engine/gif/gif.py +++ b/wikimedia_thumbor/engine/gif/gif.py @@ -14,6 +14,7 @@ # Actual processing is handled by the Thumbor built-in gifsicle-based engine from thumbor.engines.gif import Engine as BaseEngine +from thumbor.utils import logger from wikimedia_thumbor.engine import BaseWikimediaEngine from wikimedia_thumbor.shell_runner import ShellRunner @@ -46,4 +47,13 @@ buffer = content_file.read() ShellRunner.rm_f(fname) - return super(Engine, self).load(buffer, extension) + super(Engine, self).load(buffer, extension) + + logger.debug('[GIF] Frame count: %d Width: %d Height: %d' % (self.frame_count, self.image_size[0], self.image_size[1])) + + config = self.context.config + + if hasattr(config, 'MAX_ANIMATED_GIF_AREA') and config.MAX_ANIMATED_GIF_AREA: + if self.frame_count > 1 and self.image_size[0] * self.image_size[1] > config.MAX_ANIMATED_GIF_AREA: + logger.debug('[GIF] GIF is animated and greater than max animated area, keeping first frame') + self.operations.append("#0") -- To view, visit https://gerrit.wikimedia.org/r/376674 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3481d14738b74497e35cd7ca41ad3bc44ead28f4 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/python-thumbor-wikimedia Gerrit-Branch: master Gerrit-Owner: Gilles <gdu...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits