Jon Solow
Get a client per session to help with expiry
050fd9f
import os
import streamlit as st
from queries.nflverse.github_data import load_assets
from queries.supabase_db.client import get_new_supabase_client
from data_storage import login_by_token
def get_local_style():
code_str = ""
css_dir = os.path.join(os.path.dirname(__file__), "css")
for css_file in os.listdir(css_dir):
with open(os.path.join(css_dir, css_file)) as f:
code_str += "<style>{}</style>".format(f.read())
code_str += "\n"
return code_str
def local_css():
st.markdown(get_local_style(), unsafe_allow_html=True)
def login_token_arg_if_exists():
url_params = st.query_params
if arg_token := url_params.get("token"):
try:
login_by_token(arg_token, st.session_state["db_client"])
except Exception:
st.write("Sorry, error logging in. Please refresh to try again.")
st.stop()
def set_session_db_client():
session_db_key = "db_client"
if not st.session_state.get(session_db_key):
st.session_state[session_db_key] = get_new_supabase_client()
def common_page_config():
local_css()
load_assets()
set_session_db_client()
login_token_arg_if_exists()