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

Reply via email to