diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index 14038e4732d..3c15245848e 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -113,7 +113,7 @@ class _Tile(NamedTuple): # ImageFile base class -class ImageFile(Image.Image): +class ImageFile(Image.Image, metaclass=abc.ABCMeta): """Base class for image file format handlers.""" def __init__( @@ -175,6 +175,7 @@ def __init__( self.fp.close() raise + @abc.abstractmethod def _open(self) -> None: pass @@ -480,7 +481,7 @@ def load(self, im: StubImageFile) -> Image.Image: pass -class StubImageFile(ImageFile, metaclass=abc.ABCMeta): +class StubImageFile(ImageFile): """ Base class for stub image loaders. @@ -490,10 +491,6 @@ class StubImageFile(ImageFile, metaclass=abc.ABCMeta): _handler: StubHandler | None = None - @abc.abstractmethod - def _open(self) -> None: - pass - def load(self) -> Image.core.PixelAccess | None: if self._handler is None: msg = f"cannot find loader for this {self.format} file"