PovertaEducativaDev / preload.py
asvapp's picture
Aggiornemento per bug uuid
255d57d verified
Raw
History Blame Contribute Delete
3.08 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_1"]
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 = 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.")