from PIL import Image
import json
import streamlit as st
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
# # reading the nct_ta dictionary
# with open('asset/data/input_sentence.json') as f:
# data = f.read()
# sample_sentences = json.loads(data) # load dict
# print(sample_sentences)
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 local_css(css_path):
with open(css_path) as f:
st.markdown(f'', unsafe_allow_html=True)
def remote_css(css_url):
st.markdown(f'', unsafe_allow_html=True)
"""Basic utilities module"""
import requests
import csv
import re
def request_ct(url):
"""Performs a get request that provides a (somewhat) useful error message."""
try:
response = requests.get(url)
except ImportError:
raise ImportError(
"Couldn't retrieve the data, check your search expression or try again later."
)
else:
return response
def json_handler(url):
"""Returns request in JSON (dict) format"""
return request_ct(url).json()
def csv_handler(url):
"""Returns request in CSV (list of records) format"""
response = request_ct(url)
decoded_content = response.content.decode("utf-8")
split_by_blank = re.split(r"\n\s*\n", decoded_content) # Extracts header info
cr = csv.reader(split_by_blank[1].splitlines(), delimiter=",")
records = list(cr)
return records