Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Cloud:OpenStack:Pike
python-Pillow
007-Test-animated-FLI-file.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 007-Test-animated-FLI-file.patch of Package python-Pillow
From 382db4442c3ea583a05de5e5b1f21fb98f44b33c Mon Sep 17 00:00:00 2001 From: Hugo <hugovk@users.noreply.github.com> Date: Fri, 4 Aug 2017 14:41:28 +0300 Subject: [PATCH 2/3] Test animated FLI --- Tests/test_file_fli.py | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 0530f61464..164ddfed2d 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -4,17 +4,28 @@ # created as an export of a palette image from Gimp2.6 # save as...-> hopper.fli, default options. -test_file = "Tests/images/hopper.fli" +static_test_file = "Tests/images/hopper.fli" + +# From https://samples.libav.org/fli-flc/ +animated_test_file = "Tests/images/a.fli" class TestFileFli(PillowTestCase): def test_sanity(self): - im = Image.open(test_file) + im = Image.open(static_test_file) im.load() self.assertEqual(im.mode, "P") self.assertEqual(im.size, (128, 128)) self.assertEqual(im.format, "FLI") + self.assertFalse(im.is_animated) + + im = Image.open(animated_test_file) + self.assertEqual(im.mode, "P") + self.assertEqual(im.size, (320, 200)) + self.assertEqual(im.format, "FLI") + self.assertEqual(im.info["duration"], 71) + self.assertTrue(im.is_animated) def test_invalid_file(self): invalid_file = "Tests/images/flower.jpg" @@ -23,12 +34,16 @@ def test_invalid_file(self): lambda: FliImagePlugin.FliImageFile(invalid_file)) def test_n_frames(self): - im = Image.open(test_file) + im = Image.open(static_test_file) self.assertEqual(im.n_frames, 1) self.assertFalse(im.is_animated) + im = Image.open(animated_test_file) + self.assertEqual(im.n_frames, 385) + self.assertTrue(im.is_animated) + def test_eoferror(self): - im = Image.open(test_file) + im = Image.open(animated_test_file) n_frames = im.n_frames while True: @@ -39,6 +54,24 @@ def test_eoferror(self): except EOFError: self.assertLess(im.tell(), n_frames) + def test_seek_tell(self): + im = Image.open(animated_test_file) + + layer_number = im.tell() + self.assertEqual(layer_number, 0) + + im.seek(0) + layer_number = im.tell() + self.assertEqual(layer_number, 0) + + im.seek(1) + layer_number = im.tell() + self.assertEqual(layer_number, 1) + + im.seek(2) + layer_number = im.tell() + self.assertEqual(layer_number, 2) + if __name__ == '__main__': unittest.main() From d039be7cddf22f2c7a2f6b02150b4e66e4920ded Mon Sep 17 00:00:00 2001 From: Hugo <hugovk@users.noreply.github.com> Date: Fri, 4 Aug 2017 14:51:02 +0300 Subject: [PATCH 3/3] Python 3 division fix --- PIL/FliImagePlugin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PIL/FliImagePlugin.py b/PIL/FliImagePlugin.py index a2d0e0fab8..2a9145b427 100644 --- a/PIL/FliImagePlugin.py +++ b/PIL/FliImagePlugin.py @@ -38,7 +38,7 @@ class FliImageFile(ImageFile.ImageFile): format = "FLI" format_description = "Autodesk FLI/FLC Animation" _close_exclusive_fp_after_loading = False - + def _open(self): # HEAD @@ -56,7 +56,7 @@ def _open(self): # animation speed duration = i32(s[16:20]) if magic == 0xAF11: - duration = (duration * 1000) / 70 + duration = (duration * 1000) // 70 self.info["duration"] = duration # look for palette @@ -176,6 +176,7 @@ def _seek(self, frame): def tell(self): return self.__frame + # # registry
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor