mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-02-03 05:04:24 +03:00
Use _accept check in _open
This commit is contained in:
parent
885e305fe9
commit
e2288356ca
|
@ -196,6 +196,13 @@ def test__accept_false():
|
||||||
assert not output
|
assert not output
|
||||||
|
|
||||||
|
|
||||||
|
def test_invalid_file():
|
||||||
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
with pytest.raises(SyntaxError):
|
||||||
|
DdsImagePlugin.DdsImageFile(invalid_file)
|
||||||
|
|
||||||
|
|
||||||
def test_short_header():
|
def test_short_header():
|
||||||
"""Check a short header"""
|
"""Check a short header"""
|
||||||
with open(TEST_FILE_DXT5, "rb") as f:
|
with open(TEST_FILE_DXT5, "rb") as f:
|
||||||
|
|
|
@ -16,6 +16,13 @@ def test_load_dxt1():
|
||||||
assert_image_similar(im, target.convert("RGBA"), 15)
|
assert_image_similar(im, target.convert("RGBA"), 15)
|
||||||
|
|
||||||
|
|
||||||
|
def test_invalid_file():
|
||||||
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
with pytest.raises(SyntaxError):
|
||||||
|
FtexImagePlugin.FtexImageFile(invalid_file)
|
||||||
|
|
||||||
|
|
||||||
def test_constants_deprecation():
|
def test_constants_deprecation():
|
||||||
for enum, prefix in {
|
for enum, prefix in {
|
||||||
FtexImagePlugin.Format: "FORMAT_",
|
FtexImagePlugin.Format: "FORMAT_",
|
||||||
|
|
|
@ -210,7 +210,9 @@ class DdsImageFile(ImageFile.ImageFile):
|
||||||
format_description = "DirectDraw Surface"
|
format_description = "DirectDraw Surface"
|
||||||
|
|
||||||
def _open(self):
|
def _open(self):
|
||||||
magic, header_size = struct.unpack("<II", self.fp.read(8))
|
if not _accept(self.fp.read(4)):
|
||||||
|
raise SyntaxError("not a DDS file")
|
||||||
|
(header_size,) = struct.unpack("<I", self.fp.read(4))
|
||||||
if header_size != 124:
|
if header_size != 124:
|
||||||
raise OSError(f"Unsupported header size {repr(header_size)}")
|
raise OSError(f"Unsupported header size {repr(header_size)}")
|
||||||
header_bytes = self.fp.read(header_size - 4)
|
header_bytes = self.fp.read(header_size - 4)
|
||||||
|
|
|
@ -111,7 +111,9 @@ class DdsImageFile(ImageFile.ImageFile):
|
||||||
format_description = "DirectDraw Surface"
|
format_description = "DirectDraw Surface"
|
||||||
|
|
||||||
def _open(self):
|
def _open(self):
|
||||||
magic, header_size = struct.unpack("<II", self.fp.read(8))
|
if not _accept(self.fp.read(4)):
|
||||||
|
raise SyntaxError("not a DDS file")
|
||||||
|
(header_size,) = struct.unpack("<I", self.fp.read(4))
|
||||||
if header_size != 124:
|
if header_size != 124:
|
||||||
raise OSError(f"Unsupported header size {repr(header_size)}")
|
raise OSError(f"Unsupported header size {repr(header_size)}")
|
||||||
header_bytes = self.fp.read(header_size - 4)
|
header_bytes = self.fp.read(header_size - 4)
|
||||||
|
|
|
@ -94,7 +94,8 @@ class FtexImageFile(ImageFile.ImageFile):
|
||||||
format_description = "Texture File Format (IW2:EOC)"
|
format_description = "Texture File Format (IW2:EOC)"
|
||||||
|
|
||||||
def _open(self):
|
def _open(self):
|
||||||
struct.unpack("<I", self.fp.read(4)) # magic
|
if not _accept(self.fp.read(4)):
|
||||||
|
raise SyntaxError("not a FTEX file")
|
||||||
struct.unpack("<i", self.fp.read(4)) # version
|
struct.unpack("<i", self.fp.read(4)) # version
|
||||||
self._size = struct.unpack("<2i", self.fp.read(8))
|
self._size = struct.unpack("<2i", self.fp.read(8))
|
||||||
mipmap_count, format_count = struct.unpack("<2i", self.fp.read(8))
|
mipmap_count, format_count = struct.unpack("<2i", self.fp.read(8))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user