diff --git a/src/pages/marche.py b/src/pages/marche.py index 798d033..bfa4bae 100644 --- a/src/pages/marche.py +++ b/src/pages/marche.py @@ -93,7 +93,8 @@ def get_marche_data(url) -> tuple[dict, list]: def update_marche_info(marche, titulaires): def make_parameter(col): column_object = data_schema.get(col) - column_name = column_object.get("friendly_name") if column_object else col + print(column_object) + column_name = column_object.get("title") if column_object else col if marche[col]: if col == "acheteur_nom": diff --git a/src/utils.py b/src/utils.py index 466ad9f..50b5a7a 100644 --- a/src/utils.py +++ b/src/utils.py @@ -270,7 +270,7 @@ def setup_table_columns(dff, hideable: bool = True, exclude: list = None) -> tup continue column_object = data_schema.get(column_id) if column_object: - column_name = column_object.get("friendly_name", column_id) + column_name = column_object.get("title", column_id) else: column_name = column_id @@ -286,7 +286,7 @@ def setup_table_columns(dff, hideable: bool = True, exclude: list = None) -> tup if column_object: tooltip[column_id] = { - "value": f"""**{column_object.get("friendly_name")}** ({column_id}) + "value": f"""**{column_object.get("title")}** ({column_id}) """ + column_object["description"], @@ -295,6 +295,32 @@ def setup_table_columns(dff, hideable: bool = True, exclude: list = None) -> tup return columns, tooltip +def get_data_schema() -> dict: + # Récupération du schéma des données tabulaires + path = os.getenv("DATA_SCHEMA_PATH") + if path.startswith("http"): + original_schema: dict = get( + os.getenv("DATA_SCHEMA_PATH"), follow_redirects=True + ).json() + elif os.path.exists(path): + with open(path) as f: + original_schema: dict = json.load(f) + else: + raise Exception(f"Chemin vers le schéma invalide: {path}") + + new_schema = {} + + for col in original_schema["fields"]: + new_schema[col["name"]] = col + + new_schema["source"] = { + "description": "Code de la source des données, avec un lien vers le fichier Open Data dont proviennent les données de ce marché public.", + "title": "Source des données", + "short_name": "Source", + } + return new_schema + + df: pl.DataFrame = get_decp_data() departements = get_departements() domain_name = ( @@ -308,10 +334,4 @@ meta_content = { "Pour une commande publique accessible à toutes et tous." ), } - -# Récupération du schéma des données tabulaires -data_schema: dict = get(os.getenv("DATA_SCHEMA_PATH"), follow_redirects=True).json() -data_schema["source"] = { - "description": "Code de la source des données, avec un lien vers le fichier Open Data dont proviennent les données de ce marché public.", - "friendly_name": "Source des données", -} +data_schema = get_data_schema()