From 17f03ae3d3dc53fe973f37fe4dea4a831b4f97d7 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Sat, 24 Dec 2022 16:06:16 +0100 Subject: ReaderChain and image reader --- bsie/reader/image/_pillow.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bsie/reader/image/_pillow.py (limited to 'bsie/reader/image/_pillow.py') diff --git a/bsie/reader/image/_pillow.py b/bsie/reader/image/_pillow.py new file mode 100644 index 0000000..ee0662d --- /dev/null +++ b/bsie/reader/image/_pillow.py @@ -0,0 +1,37 @@ +""" + +Part of the bsie module. +A copy of the license is provided with the project. +Author: Matthias Baumgartner, 2022 +""" +# standard imports +import typing + +# external imports +import PIL.Image + +# bsie imports +from bsie.utils import errors + +# inner-module imports +from .. import base + +# exports +__all__: typing.Sequence[str] = ( + 'PillowImage', + ) + + +## code ## + +class PillowImage(base.Reader): + """Use PIL to read content of a variety of image file types.""" + + def __call__(self, path: str) -> PIL.Image: + try: + # open file with PIL + return PIL.Image.open(path) + except IOError as err: + raise errors.ReaderError(path) from err + +# EOF ## -- cgit v1.2.3 From afd165000c1661a9cca117a4844ad3f89d926fdb Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Mon, 16 Jan 2023 20:53:39 +0100 Subject: unsupported file format exception --- bsie/reader/image/_pillow.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bsie/reader/image/_pillow.py') diff --git a/bsie/reader/image/_pillow.py b/bsie/reader/image/_pillow.py index ee0662d..3144509 100644 --- a/bsie/reader/image/_pillow.py +++ b/bsie/reader/image/_pillow.py @@ -31,6 +31,8 @@ class PillowImage(base.Reader): try: # open file with PIL return PIL.Image.open(path) + except PIL.UnidentifiedImageError as err: + raise errors.UnsupportedFileFormatError(path) from err except IOError as err: raise errors.ReaderError(path) from err -- cgit v1.2.3 From 0d0144466919cfb168e75c2af26d5cb74e10bfa0 Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Wed, 8 Feb 2023 19:24:37 +0100 Subject: minor cleanup --- bsie/reader/image/_pillow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bsie/reader/image/_pillow.py') diff --git a/bsie/reader/image/_pillow.py b/bsie/reader/image/_pillow.py index 3144509..5b2bdf2 100644 --- a/bsie/reader/image/_pillow.py +++ b/bsie/reader/image/_pillow.py @@ -27,7 +27,7 @@ __all__: typing.Sequence[str] = ( class PillowImage(base.Reader): """Use PIL to read content of a variety of image file types.""" - def __call__(self, path: str) -> PIL.Image: + def __call__(self, path: str) -> PIL.Image.Image: try: # open file with PIL return PIL.Image.open(path) -- cgit v1.2.3 From 4b5c4d486bb4f0f4da2e25ad464e8336a781cdcb Mon Sep 17 00:00:00 2001 From: Matthias Baumgartner Date: Wed, 1 Mar 2023 22:31:03 +0100 Subject: removed module header stubs --- bsie/reader/image/_pillow.py | 5 ----- 1 file changed, 5 deletions(-) (limited to 'bsie/reader/image/_pillow.py') diff --git a/bsie/reader/image/_pillow.py b/bsie/reader/image/_pillow.py index 5b2bdf2..0611d3c 100644 --- a/bsie/reader/image/_pillow.py +++ b/bsie/reader/image/_pillow.py @@ -1,9 +1,4 @@ -""" -Part of the bsie module. -A copy of the license is provided with the project. -Author: Matthias Baumgartner, 2022 -""" # standard imports import typing -- cgit v1.2.3