Spaces:
Running
Running
| import streamlit as st | |
| import pymongo | |
| from pymongo.errors import PyMongoError | |
| import pandas as pd | |
| import pickle | |
| import os | |
| #### Handling the db | |
| 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 | |
| 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 | |
| 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.") | |