raise exception on invalid images (#999)
# What does this PR do? This PR is meant to handle cases in which the images provided are invalid. ## Who can review? Anyone in the community is free to review the PR once the tests have passed. Feel free to tag members/contributors who may be interested in your PR. @Narsil --------- Co-authored-by: Nicolas Patry <patry.nicolas@protonmail.com>
This commit is contained in:
parent
bd998d8797
commit
b8fefa6b55
|
@ -194,9 +194,14 @@ class IdeficsImageProcessor(BaseImageProcessor):
|
||||||
if isinstance(image_url_or_urls, list):
|
if isinstance(image_url_or_urls, list):
|
||||||
return [self.fetch_images(x) for x in image_url_or_urls]
|
return [self.fetch_images(x) for x in image_url_or_urls]
|
||||||
elif isinstance(image_url_or_urls, str):
|
elif isinstance(image_url_or_urls, str):
|
||||||
response = requests.get(image_url_or_urls, stream=True, headers=headers)
|
response = requests.get(image_url_or_urls, stream=True, headers=headers, timeout=(1, 5))
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
return Image.open(BytesIO(response.content))
|
try:
|
||||||
|
image = Image.open(BytesIO(response.content))
|
||||||
|
image.verify()
|
||||||
|
except Exception:
|
||||||
|
raise ValueError(f"Could not load image from url {image_url_or_urls}")
|
||||||
|
return image
|
||||||
else:
|
else:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"only a single or a list of entries is supported but got type={type(image_url_or_urls)}"
|
f"only a single or a list of entries is supported but got type={type(image_url_or_urls)}"
|
||||||
|
|
Loading…
Reference in New Issue