node_helpers.py 960 Bytes
Newer Older
1
2
3
4
import hashlib

from comfy.cli_args import args

5
from PIL import ImageFile, UnidentifiedImageError
6
7
8
9
10
11
12
13
14
15

def conditioning_set_values(conditioning, values={}):
    c = []
    for t in conditioning:
        n = [t[0], t[1].copy()]
        for k in values:
            n[1][k] = values[k]
        c.append(n)

    return c
16

17
def pillow(fn, arg):
18
19
    prev_value = None
    try:
20
21
        x = fn(arg)
    except (OSError, UnidentifiedImageError, ValueError): #PIL issues #4472 and #2445, also fixes ComfyUI issue #3416
22
        prev_value = ImageFile.LOAD_TRUNCATED_IMAGES
23
        ImageFile.LOAD_TRUNCATED_IMAGES = True
24
        x = fn(arg)
25
    finally:
26
27
        if prev_value is not None:
            ImageFile.LOAD_TRUNCATED_IMAGES = prev_value
28
    return x
29
30
31
32
33
34
35
36
37

def hasher():
    hashfuncs = {
        "md5": hashlib.md5,
        "sha1": hashlib.sha1,
        "sha256": hashlib.sha256,
        "sha512": hashlib.sha512
    }
    return hashfuncs[args.default_hashing_function]