File size: 3,153 Bytes
42bcde6
 
 
 
727ab43
19032c9
42bcde6
 
663f4dc
 
42bcde6
 
c0d03d4
 
 
 
 
 
 
 
42bcde6
c0d03d4
255d57d
c0d03d4
42bcde6
 
b206342
663f4dc
42bcde6
 
663f4dc
 
42bcde6
 
 
b206342
42bcde6
 
727ab43
0cb983a
 
 
 
 
 
 
 
 
 
b206342
 
42bcde6
663f4dc
 
 
42bcde6
 
 
b206342
42bcde6
 
83ebe75
663f4dc
42bcde6
 
 
663f4dc
42bcde6
 
 
 
 
 
 
 
 
663f4dc
 
 
 
 
 
42bcde6
 
 
663f4dc
727ab43
 
 
b46a94b
 
 
 
 
42bcde6
663f4dc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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.")