Spaces:
Build error
Build error
import streamlit as st | |
import json | |
from PIL import Image | |
from io import BytesIO | |
import base64 | |
import requests | |
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 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 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 local_css(css_path): | |
with open(css_path) as f: | |
st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True) | |
def remote_css(css_url): | |
st.markdown(f'<link href="{css_url}" rel="stylesheet">', unsafe_allow_html=True) | |
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()]) | |
# r = list(set([x.strip() for x in list_str.strip().split(',') if len(x.strip()) > 0])) | |
if return_list: | |
return r | |
return ", ".join(r) | |