Spaces:
Build error
Build error
File size: 1,758 Bytes
e734794 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import base64
import json
from io import BytesIO
from PIL import Image
import requests
import re
def load_image_from_local(image_path, image_resize=None):
image = Image.open(image_path)
if isinstance(image_resize, tuple):
image = image.resize(image_resize)
return image
def load_image_from_url(image_url, rgba_mode=False, image_resize=None, default_image=None):
try:
image = Image.open(requests.get(image_url, stream=True).raw)
if rgba_mode:
image = image.convert("RGBA")
if isinstance(image_resize, tuple):
image = image.resize(image_resize)
except Exception as e:
image = None
if default_image:
image = load_image_from_local(default_image, image_resize=image_resize)
return image
def load_text(text_path):
text = ''
with open(text_path) as f:
text = f.read()
return text
def load_json(json_path):
jdata = ''
with open(json_path) as f:
jdata = json.load(f)
return jdata
def image_to_base64(image_array):
buffered = BytesIO()
image_array.save(buffered, format="PNG")
image_b64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
return f"data:image/png;base64, {image_b64}"
def unique_list(seq):
seen = set()
seen_add = seen.add
return [x for x in seq if not (x in seen or seen_add(x))]
def pure_comma_separation(list_str, return_list=True):
r = unique_list([item.strip() for item in list_str.lower().split(",") if item.strip()])
if return_list:
return r
return ", ".join(r)
def replace_regex(text, map_dict):
pattern = "|".join(map(re.escape, map_dict.keys()))
return re.sub(pattern, lambda m: map_dict[m.group()], str(text))
|