Ajout de liens vers l'annuaire des entreprises
This commit is contained in:
+10
-3
@@ -2,11 +2,14 @@ from dash import html, dcc, dash_table, register_page, Input, Output, State, cal
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
import os
|
import os
|
||||||
import polars as pl
|
import polars as pl
|
||||||
from src.utils import split_filter_part
|
from src.utils import split_filter_part, add_annuaire_link
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
df = pl.scan_parquet(os.getenv("DATA_FILE_PARQUET_PATH"))
|
df: pl.LazyFrame = pl.scan_parquet(os.getenv("DATA_FILE_PARQUET_PATH"))
|
||||||
|
|
||||||
|
# Ajout des liens vers l'annuaire
|
||||||
|
df = add_annuaire_link(df)
|
||||||
|
|
||||||
title = "Tableau"
|
title = "Tableau"
|
||||||
register_page(__name__, path="/", title=f"decp.info - {title}", name=title, order=1)
|
register_page(__name__, path="/", title=f"decp.info - {title}", name=title, order=1)
|
||||||
@@ -19,7 +22,10 @@ datatable = dash_table.DataTable(
|
|||||||
page_action="custom",
|
page_action="custom",
|
||||||
filter_action="custom",
|
filter_action="custom",
|
||||||
filter_options={"case": "insensitive", "placeholder_text": "Filtrer..."},
|
filter_options={"case": "insensitive", "placeholder_text": "Filtrer..."},
|
||||||
columns=[{"name": i, "id": i} for i in df.collect_schema().names()],
|
columns=[
|
||||||
|
{"name": i, "id": i, "presentation": "markdown"}
|
||||||
|
for i in df.collect_schema().names()
|
||||||
|
],
|
||||||
selected_columns=[],
|
selected_columns=[],
|
||||||
selected_rows=[],
|
selected_rows=[],
|
||||||
# sort_action="native",
|
# sort_action="native",
|
||||||
@@ -38,6 +44,7 @@ datatable = dash_table.DataTable(
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
data_timestamp=0,
|
data_timestamp=0,
|
||||||
|
markdown_options={"html": True},
|
||||||
)
|
)
|
||||||
|
|
||||||
layout = [
|
layout = [
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import polars as pl
|
||||||
|
|
||||||
operators = [
|
operators = [
|
||||||
["s<", "<"],
|
["s<", "<"],
|
||||||
["s>", ">"],
|
["s>", ">"],
|
||||||
@@ -17,3 +19,26 @@ def split_filter_part(filter_part):
|
|||||||
return name, operator_group[1], value
|
return name, operator_group[1], value
|
||||||
|
|
||||||
return [None] * 3
|
return [None] * 3
|
||||||
|
|
||||||
|
|
||||||
|
def add_annuaire_link(df: pl.LazyFrame):
|
||||||
|
df = df.with_columns(
|
||||||
|
pl.when(pl.col("titulaire_typeIdentifiant") == "SIRET")
|
||||||
|
.then(
|
||||||
|
pl.col("titulaire_id")
|
||||||
|
+ f' <a href="https://annuaire-entreprises.data.gouv.fr/etablissement/'
|
||||||
|
+ pl.col("titulaire_id")
|
||||||
|
+ '" target="_blank">📑</a>'
|
||||||
|
)
|
||||||
|
.otherwise(pl.col("titulaire_id"))
|
||||||
|
.alias("titulaire_id")
|
||||||
|
)
|
||||||
|
df = df.with_columns(
|
||||||
|
(
|
||||||
|
pl.col("acheteur_id")
|
||||||
|
+ f' <a href="https://annuaire-entreprises.data.gouv.fr/etablissement/'
|
||||||
|
+ pl.col("acheteur_id")
|
||||||
|
+ '" target="_blank">📑</a>'
|
||||||
|
).alias("acheteur_id")
|
||||||
|
)
|
||||||
|
return df
|
||||||
|
|||||||
Reference in New Issue
Block a user