inception / utils.py
jakubscholtz's picture
feat: changed handling of Faker generated data
8982d26
import streamlit as st
import pymongo
import uuid
import datetime
import bson
@st.cache_resource(show_spinner=False)
def mongo_client():
return pymongo.MongoClient(st.secrets["mongo_login"])
def small_report():
client = mongo_client()
col = client["Inception"]["ratings"]
mini_report = {
"career_id": st.session_state["career_id"],
"type": "rating",
"time": datetime.datetime.now(tz=datetime.timezone.utc),
"career_ESCO": st.session_state["career_ESCO"],
"ratings": {
str(key): value for key, value in st.session_state["ratings"].items()
},
}
col.insert_one(mini_report)
def report():
client = mongo_client()
col = client["Inception"]["logging"]
data_report = {
"type": "career",
"session_id": st.session_state["session_id"],
"user": st.session_state["user"],
"time": datetime.datetime.now(tz=datetime.timezone.utc),
"career_id": st.session_state["career_id"],
"career_ESCO": st.session_state["career_ESCO"],
"weight": st.session_state["weight"],
}
if 'fake_personal_info' in st.session_state:
data_report['fake_personal_info'] = st.session_state["fake_personal_info"]
col.insert_one(data_report)
def check_login():
if "user" in st.query_params:
with st.spinner("Authenticating..."):
st.session_state.user_token = st.query_params["user"]
client = mongo_client()
col = client["Inception"]["users"]
res = col.find_one({"user_token": st.session_state.user_token})
if res:
st.session_state.login = True
st.session_state.user = st.query_params["user"]
st.toast("Login successful", icon="✅")
else:
reject_login()
else:
reject_login()
def reject_login():
st.session_state.user = None
st.session_state.login = False
st.error(
"Please contact the Inrecruiting section of Zucchetti s.p.a. for login information."
)
st.stop()