mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-10 16:22:22 +03:00
accept returns bool or str
This commit is contained in:
parent
819e1b9dd2
commit
48b270590c
|
@ -241,7 +241,7 @@ class BLPFormatError(NotImplementedError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] in (b"BLP1", b"BLP2")
|
return prefix[:4] in (b"BLP1", b"BLP2")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ BIT2MODE = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:2] == b"BM"
|
return prefix[:2] == b"BM"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ def register_handler(handler):
|
||||||
# Image adapter
|
# Image adapter
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC"
|
return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ from ._binary import i32le as i32
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"\0\0\2\0"
|
return prefix[:4] == b"\0\0\2\0"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ from .PcxImagePlugin import PcxImageFile
|
||||||
MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then?
|
MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then?
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return len(prefix) >= 4 and i32(prefix) == MAGIC
|
return len(prefix) >= 4 and i32(prefix) == MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -562,7 +562,7 @@ def _save(im, fp, filename):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"DDS "
|
return prefix[:4] == b"DDS "
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -195,7 +195,7 @@ class PSFile:
|
||||||
return b"".join(s).decode("latin-1")
|
return b"".join(s).decode("latin-1")
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"%!PS" or (len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5)
|
return prefix[:4] == b"%!PS" or (len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ from ._binary import o8
|
||||||
# decoder
|
# decoder
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return (
|
return (
|
||||||
len(prefix) >= 6
|
len(prefix) >= 6
|
||||||
and i16(prefix, 4) in [0xAF11, 0xAF12]
|
and i16(prefix, 4) in [0xAF11, 0xAF12]
|
||||||
|
|
|
@ -41,7 +41,7 @@ MODES = {
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:8] == olefile.MAGIC
|
return prefix[:8] == olefile.MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ class FtexImageFile(ImageFile.ImageFile):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == MAGIC
|
return prefix[:4] == MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ from . import Image, ImageFile
|
||||||
from ._binary import i32be as i32
|
from ._binary import i32be as i32
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return len(prefix) >= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2)
|
return len(prefix) >= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ LOADING_STRATEGY = LoadingStrategy.RGB_AFTER_FIRST
|
||||||
# Identify/read GIF files
|
# Identify/read GIF files
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:6] in [b"GIF87a", b"GIF89a"]
|
return prefix[:6] in [b"GIF87a", b"GIF89a"]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ def register_handler(handler):
|
||||||
# Image adapter
|
# Image adapter
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"GRIB" and prefix[7] == 1
|
return prefix[:4] == b"GRIB" and prefix[7] == 1
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ def register_handler(handler):
|
||||||
# Image adapter
|
# Image adapter
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:8] == b"\x89HDF\r\n\x1a\n"
|
return prefix[:8] == b"\x89HDF\r\n\x1a\n"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -374,7 +374,7 @@ def _save(im, fp, filename):
|
||||||
fp.flush()
|
fp.flush()
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == MAGIC
|
return prefix[:4] == MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ def _save(im, fp, filename):
|
||||||
fp.seek(current)
|
fp.seek(current)
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == _MAGIC
|
return prefix[:4] == _MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -223,7 +223,7 @@ OPEN: dict[
|
||||||
str,
|
str,
|
||||||
tuple[
|
tuple[
|
||||||
Callable[[IO[bytes], str | bytes], ImageFile.ImageFile],
|
Callable[[IO[bytes], str | bytes], ImageFile.ImageFile],
|
||||||
Callable[[bytes], bool] | None,
|
Callable[[bytes], bool | str] | None,
|
||||||
],
|
],
|
||||||
] = {}
|
] = {}
|
||||||
MIME: dict[str, str] = {}
|
MIME: dict[str, str] = {}
|
||||||
|
@ -3298,7 +3298,7 @@ def open(
|
||||||
|
|
||||||
preinit()
|
preinit()
|
||||||
|
|
||||||
accept_warnings: list[str | bytes] = []
|
accept_warnings: list[str] = []
|
||||||
|
|
||||||
def _open_core(
|
def _open_core(
|
||||||
fp: IO[bytes],
|
fp: IO[bytes],
|
||||||
|
@ -3313,8 +3313,8 @@ def open(
|
||||||
try:
|
try:
|
||||||
factory, accept = OPEN[i]
|
factory, accept = OPEN[i]
|
||||||
result = not accept or accept(prefix)
|
result = not accept or accept(prefix)
|
||||||
if type(result) in [str, bytes]:
|
if isinstance(result, str):
|
||||||
accept_warnings.append(result) # type: ignore[arg-type]
|
accept_warnings.append(result)
|
||||||
elif result:
|
elif result:
|
||||||
fp.seek(0)
|
fp.seek(0)
|
||||||
im = factory(fp, filename)
|
im = factory(fp, filename)
|
||||||
|
@ -3350,7 +3350,7 @@ def open(
|
||||||
if exclusive_fp:
|
if exclusive_fp:
|
||||||
fp.close()
|
fp.close()
|
||||||
for message in accept_warnings:
|
for message in accept_warnings:
|
||||||
warnings.warn(message) # type: ignore[arg-type]
|
warnings.warn(message)
|
||||||
msg = "cannot identify image file %r" % (filename if filename else fp)
|
msg = "cannot identify image file %r" % (filename if filename else fp)
|
||||||
raise UnidentifiedImageError(msg)
|
raise UnidentifiedImageError(msg)
|
||||||
|
|
||||||
|
@ -3464,7 +3464,7 @@ def merge(mode, bands):
|
||||||
def register_open(
|
def register_open(
|
||||||
id,
|
id,
|
||||||
factory: Callable[[IO[bytes], str | bytes], ImageFile.ImageFile],
|
factory: Callable[[IO[bytes], str | bytes], ImageFile.ImageFile],
|
||||||
accept: Callable[[bytes], bool] | None = None,
|
accept: Callable[[bytes], bool | str] | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Register an image file plugin. This function should not be used
|
Register an image file plugin. This function should not be used
|
||||||
|
|
|
@ -313,7 +313,7 @@ class Jpeg2KImageFile(ImageFile.ImageFile):
|
||||||
return ImageFile.ImageFile.load(self)
|
return ImageFile.ImageFile.load(self)
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return (
|
return (
|
||||||
prefix[:4] == b"\xff\x4f\xff\x51"
|
prefix[:4] == b"\xff\x4f\xff\x51"
|
||||||
or prefix[:12] == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a"
|
or prefix[:12] == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a"
|
||||||
|
|
|
@ -344,7 +344,7 @@ MARKER = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
# Magic number was taken from https://en.wikipedia.org/wiki/JPEG
|
# Magic number was taken from https://en.wikipedia.org/wiki/JPEG
|
||||||
return prefix[:3] == b"\xFF\xD8\xFF"
|
return prefix[:3] == b"\xFF\xD8\xFF"
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ from . import Image, TiffImagePlugin
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:8] == olefile.MAGIC
|
return prefix[:8] == olefile.MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -689,7 +689,7 @@ class PngStream(ChunkStream):
|
||||||
# PNG reader
|
# PNG reader
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:8] == _MAGIC
|
return prefix[:8] == _MAGIC
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ MODES = {
|
||||||
# read PSD images
|
# read PSD images
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"8BPS"
|
return prefix[:4] == b"8BPS"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ from . import Image, ImageFile
|
||||||
from ._binary import i32be as i32
|
from ._binary import i32be as i32
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] == b"qoif"
|
return prefix[:4] == b"qoif"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -277,7 +277,7 @@ PREFIXES = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:4] in PREFIXES
|
return prefix[:4] in PREFIXES
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ _VP8_MODES_BY_IDENTIFIER = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool | str:
|
||||||
is_riff_file_format = prefix[:4] == b"RIFF"
|
is_riff_file_format = prefix[:4] == b"RIFF"
|
||||||
is_webp_file = prefix[8:12] == b"WEBP"
|
is_webp_file = prefix[8:12] == b"WEBP"
|
||||||
is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER
|
is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER
|
||||||
|
@ -34,6 +34,7 @@ def _accept(prefix):
|
||||||
"image file could not be identified because WEBP support not installed"
|
"image file could not be identified because WEBP support not installed"
|
||||||
)
|
)
|
||||||
return True
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
class WebPImageFile(ImageFile.ImageFile):
|
class WebPImageFile(ImageFile.ImageFile):
|
||||||
|
|
|
@ -65,7 +65,7 @@ if hasattr(Image.core, "drawwmf"):
|
||||||
# Read WMF file
|
# Read WMF file
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return (
|
return (
|
||||||
prefix[:6] == b"\xd7\xcd\xc6\x9a\x00\x00" or prefix[:4] == b"\x01\x00\x00\x00"
|
prefix[:6] == b"\xd7\xcd\xc6\x9a\x00\x00" or prefix[:4] == b"\x01\x00\x00\x00"
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,7 +24,7 @@ from ._binary import o8
|
||||||
xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)')
|
xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)')
|
||||||
|
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix: bytes) -> bool:
|
||||||
return prefix[:9] == b"/* XPM */"
|
return prefix[:9] == b"/* XPM */"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user