contact_list / app.py
ulianast
Removed unused imports
eb4a12f
import pickle
import streamlit as st
reports = {"Hillary Clinton": {"emotions_report_filename" : "emotions_report.pkl",
"goals_report_filename" : "goals_report.pkl"},
"Harry Potter": {"emotions_report_filename" : "hp_emotions.pkl",
"goals_report_filename" : "hp_goals.pkl"}
}
if 'character' not in st.session_state:
st.session_state.character = "Harry Potter"
for ch in reports.keys():
with open(reports[ch]["goals_report_filename"], 'rb') as file:
reports[ch]["goals_report"] = pickle.load(file)
with open(reports[ch]["emotions_report_filename"], 'rb') as file:
reports[ch]["emotions_report"] = pickle.load(file)
emotions_report = reports[st.session_state.character]["emotions_report"]
goals_report = reports[st.session_state.character]["goals_report"]
st.title(f"{st.session_state.character}'s Contact List Analysis")
emotions_tab, goals_tab = st.tabs(["Emotions", "Goals"])
with emotions_tab:
for name in emotions_report.keys():
container = st.container(border=True)
with container:
st.header(name)
for emotion in emotions_report[name].keys():
score = len(emotions_report[name][emotion])
expander = st.expander(f"Emotion: {emotion} - {score}")
with expander:
for r in emotions_report[name][emotion]:
st.write(r["explanation"])
for ref in r["reference"]:
st.markdown(f"> {ref}")
st.write("\n")
with goals_tab:
for name in goals_report.keys():
container = st.container(border=True)
with container:
st.header(name)
for goal in goals_report[name].keys():
score = len(goals_report[name][goal])
expander = st.expander(f"Goal: {goal} - {score}")
with expander:
for r in goals_report[name][goal]:
st.write(r["explanation"])
for ref in r["reference"]:
st.markdown(f"> {ref}")
st.write("\n")
with st.sidebar:
for ch in reports.keys():
container = st.container(border=True)
col1, col2 = container.columns([2, 1])
with col1:
st.header(ch)
with col2:
st.button("Show", key=ch, on_click=lambda ch=ch: st.session_state.update(character=ch))