diff --git a/PIL/MpoImagePlugin.py b/PIL/MpoImagePlugin.py index 520e683d4..0d1185205 100644 --- a/PIL/MpoImagePlugin.py +++ b/PIL/MpoImagePlugin.py @@ -25,7 +25,8 @@ from PIL import Image, JpegImagePlugin def _accept(prefix): return JpegImagePlugin._accept(prefix) -def _save(im, fp, filename): +def _save(im, fp, filename, **options): + # Note that we can only save the current frame at present return JpegImagePlugin._save(im, fp, filename) ## diff --git a/Tests/test_file_mpo.py b/Tests/test_file_mpo.py index 20589539b..a221eec15 100644 --- a/Tests/test_file_mpo.py +++ b/Tests/test_file_mpo.py @@ -13,7 +13,8 @@ class TestFileMpo(PillowTestCase): if "jpeg_encoder" not in codecs or "jpeg_decoder" not in codecs: self.skipTest("jpeg support not available") - def roundtrip(self, im, **options): + def frame_roundtrip(self, im, **options): + # Note that for now, there is no MPO saving functionality out = BytesIO() im.save(out, "MPO", **options) bytes = out.tell() @@ -106,7 +107,19 @@ class TestFileMpo(PillowTestCase): im02 = im.tobytes() self.assertEqual(im0, im02) self.assertNotEqual(im0, im1) - + + def test_save(self): + # Note that only individual frames can be saved at present + for test_file in test_files: + im = Image.open(test_file) + self.assertEqual(im.tell(), 0) + jpg0 = self.frame_roundtrip(im) + self.assert_image_similar(im, jpg0, 30) + im.seek(1) + self.assertEqual(im.tell(), 1) + jpg1 = self.frame_roundtrip(im) + self.assert_image_similar(im, jpg1, 30) + if __name__ == '__main__': unittest.main()