diff --git a/.template.env b/.template.env index 0eec464..99c78a1 100644 --- a/.template.env +++ b/.template.env @@ -6,6 +6,9 @@ SOURCE_STATS_CSV_PATH="https://www.data.gouv.fr/api/1/datasets/r/8ded94de-3b80-4 # Chemin vers le schéma de données DATA_SCHEMA_PATH=https://www.data.gouv.fr/api/1/datasets/r/9a4144c0-ee44-4dec-bee5-bbef38191d9a +# Colonnes masquées par défaut +DISPLAYED_COLUMNS="uid, acheteur_id, acheteur_nom, montant, objet, titulaire_nom, titulaire_id, dateNotification, dureeMois, acheteur_departement_code, sourceDataset" + # Formulaire de contact SENDER_SERVER_DOMAIN="mail.example.com" # serveur SMTP LOGIN_PASSWORD="" # mot de passe du serveur diff --git a/src/pages/tableau.py b/src/pages/tableau.py index 23de881..a8e31dd 100644 --- a/src/pages/tableau.py +++ b/src/pages/tableau.py @@ -11,6 +11,7 @@ from src.utils import ( filter_table_data, format_montant, format_number, + get_default_hidden_columns, meta_content, setup_table_columns, sort_table_data, @@ -76,6 +77,7 @@ datatable = html.Div( markdown_options={"html": True}, tooltip_duration=8000, tooltip_delay=350, + hidden_columns=get_default_hidden_columns(schema), ), ) diff --git a/src/utils.py b/src/utils.py index 85d9e43..eace5ff 100644 --- a/src/utils.py +++ b/src/utils.py @@ -6,6 +6,7 @@ from time import sleep import polars as pl import polars.selectors as cs from httpx import get +from polars import Schema from polars.exceptions import ComputeError operators = [ @@ -312,6 +313,20 @@ def setup_table_columns(dff, hideable: bool = True, exclude: list = None) -> tup return columns, tooltip +def get_default_hidden_columns(schema: Schema): + displayed_columns = os.getenv("DISPLAYED_COLUMNS") + hidden_columns = [] + if displayed_columns: + displayed_columns = displayed_columns.replace(" ", "").split(",") + for col in schema.names(): + if col in displayed_columns: + continue + else: + hidden_columns.append(col) + return hidden_columns + raise ValueError("DISPLAYED_COLUMNS n'est pas configuré") + + def get_data_schema() -> dict: # Récupération du schéma des données tabulaires path = os.getenv("DATA_SCHEMA_PATH")