Fixed #24441 -- Changed get_image_dimensions() return value for broken images
This commit is contained in:
parent
cb506aed2a
commit
cda74c7fc9
|
@ -66,7 +66,7 @@ def get_image_dimensions(file_or_path, close=False):
|
||||||
if p.image:
|
if p.image:
|
||||||
return p.image.size
|
return p.image.size
|
||||||
chunk_size *= 2
|
chunk_size *= 2
|
||||||
return None
|
return (None, None)
|
||||||
finally:
|
finally:
|
||||||
if close:
|
if close:
|
||||||
file.close()
|
file.close()
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
123
|
|
@ -239,6 +239,22 @@ class InconsistentGetImageDimensionsBug(unittest.TestCase):
|
||||||
self.assertEqual(size, Image.open(fh).size)
|
self.assertEqual(size, Image.open(fh).size)
|
||||||
|
|
||||||
|
|
||||||
|
class GetImageDimensionsOnInvalidImages(unittest.TestCase):
|
||||||
|
@unittest.skipUnless(Image, "Pillow not installed")
|
||||||
|
def test_invalid_image(self):
|
||||||
|
"""
|
||||||
|
get_image_dimensions() should return (None, None) for the dimensions of
|
||||||
|
invalid images (#24441).
|
||||||
|
|
||||||
|
brokenimg.png is not a valid image and it has been generated by:
|
||||||
|
$ echo "123" > brokenimg.png
|
||||||
|
"""
|
||||||
|
img_path = os.path.join(os.path.dirname(upath(__file__)), "brokenimg.png")
|
||||||
|
with open(img_path, 'rb') as fh:
|
||||||
|
size = images.get_image_dimensions(fh)
|
||||||
|
self.assertEqual(size, (None, None))
|
||||||
|
|
||||||
|
|
||||||
class FileMoveSafeTests(unittest.TestCase):
|
class FileMoveSafeTests(unittest.TestCase):
|
||||||
def test_file_move_overwrite(self):
|
def test_file_move_overwrite(self):
|
||||||
handle_a, self.file_a = tempfile.mkstemp()
|
handle_a, self.file_a = tempfile.mkstemp()
|
||||||
|
|
Loading…
Reference in New Issue