PovertaEducativaDev / preload.py
asvapp's picture
Corretto bug e problemi di visualizzazione
83ebe75
Raw History Blame Contribute Delete
3.15 kB
import streamlit as st
import pymongo
from pymongo.errors import PyMongoError
import pandas as pd
import pickle
import os
#### Handling the db
@st.cache_resource()
def get_database_client():
# try:
# client = pymongo.MongoClient(st.secrets["mongodb_string"])
# except PyMongoError as e:
# st.error(
# "We are sorry, we are unable to connect to our database. Please try again later."
# )
# st.stop()
# return client
mongo_uri = os.environ.get("mongodb_uri") or st.secrets.get("mongodb_string")
client = pymongo.MongoClient(mongo_uri, uuidRepresentation='standard')
return client
mongo_client = get_database_client()
# st.toast("Database connected!")
#### Loading the Mappatura database
@st.cache_resource()
def load_database(_mongo_client):
try:
col = _mongo_client["poverta_educativa"]["database_mappatura_anni"]
mappatura_tot = pd.DataFrame(list(col.find()))
mappatura_tot["_id"] = mappatura_tot["_id"].astype(str)
mappatura_data = mappatura_tot
#mappatura_data = mappatura_tot.drop(
# [ "_id",
# "Livello di analisi",
# "Budget",
# "Budget completo di cofinanziamento (*se noto)",
# "Link 2 ",
# ],
# axis=1,
#)
#mappatura_data["Data inizio"] = mappatura_data["Data inizio"].astype(str)
#mappatura_data["Data fine (prevista o effettiva)"] = mappatura_data["Data fine (prevista o effettiva)"].astype(str)
except PyMongoError as e:
st.error(
"We are sorry, we are unable to connect to our database. Please try again later."
)
st.stop()
return mappatura_data
mappatura_data.columns = mappatura_data.columns.str.strip()
mappatura_data = load_database(mongo_client)
# st.toast("Database loaded!")
##### Loading the color data
@st.cache_resource()
def get_color_data():
try:
color_data_regioni = pd.read_json("./data/color_data_regioni.json")
color_data_province = pd.read_json("./data/color_data_province.json")
color_data_comuni = pd.read_json("./data/color_data_comuni.json")
except:
st.error(
"We are sorry, we are unable to load colormaps. Please try again later."
)
color_data_comuni = pd.DataFrame({"name": [], "color": []})
color_data_regioni = pd.DataFrame({"reg_name": [], "color": []})
color_data_province = pd.DataFrame({"prov_name": [], "color": []})
return color_data_regioni, color_data_province, color_data_comuni
presence_regioni = pickle.load(open("./data/presence_regioni_vector.pkl", "rb"))
presence_province = pickle.load(open("./data/presence_province_vector.pkl", "rb"))
presence_comuni = pickle.load(open("./data/presence_comuni_vector.pkl", "rb"))
all_regions = pickle.load(open("./data/all_regions.pkl", "rb"))
all_provinces = pickle.load(open("./data/all_provinces.pkl", "rb"))
all_munis = pickle.load(open("./data/all_munis.pkl", "rb"))
color_data_regioni, color_data_province, color_data_comuni = get_color_data()
# st.toast("Colormaps loaded.")