Only set LOAD_TRUNCATED_IMAGES when if the Image open fails.

Document which PIL issues this works around.
This commit is contained in:
comfyanonymous 2024-05-04 03:39:37 -04:00
parent 0d45efb7d6
commit 72508a8d19

View File

@ -1,4 +1,4 @@
from PIL import Image, ImageFile from PIL import Image, ImageFile, UnidentifiedImageError
def conditioning_set_values(conditioning, values={}): def conditioning_set_values(conditioning, values={}):
c = [] c = []
@ -11,14 +11,15 @@ def conditioning_set_values(conditioning, values={}):
return c return c
def open_image(path): def open_image(path):
try : prev_value = None
ImageFile.LOAD_TRUNCATED_IMAGES = False
img = Image.open(path)
except: try:
img = Image.open(path)
except (UnidentifiedImageError, ValueError): #PIL issues #4472 and #2445
prev_value = ImageFile.LOAD_TRUNCATED_IMAGES
ImageFile.LOAD_TRUNCATED_IMAGES = True ImageFile.LOAD_TRUNCATED_IMAGES = True
img = Image.open(path) img = Image.open(path)
finally: finally:
ImageFile.LOAD_TRUNCATED_IMAGES = False if prev_value is not None:
ImageFile.LOAD_TRUNCATED_IMAGES = prev_value
return img return img