refactor: use write_styled_excel in all download callbacks #83

This commit is contained in:
Colin Maudry
2026-06-23 17:14:16 +02:00
parent e5ca7d62a3
commit a5e802d20a
4 changed files with 21 additions and 9 deletions
+6 -3
View File
@@ -34,6 +34,7 @@ from src.utils.table import (
get_default_hidden_columns, get_default_hidden_columns,
prepare_table_data, prepare_table_data,
sort_table_data, sort_table_data,
write_styled_excel,
) )
from src.utils.tracking import track_search from src.utils.tracking import track_search
@@ -397,8 +398,10 @@ def download_acheteur_data(
df_to_download = pl.DataFrame(data) df_to_download = pl.DataFrame(data)
def to_bytes(buffer): def to_bytes(buffer):
df_to_download.write_excel( write_styled_excel(
buffer, worksheet="DECP" if annee in ["Toutes les années", None] else annee df_to_download,
buffer,
worksheet="DECP" if annee in ["Toutes les années", None] else annee,
) )
date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
@@ -439,7 +442,7 @@ def download_filtered_acheteur_data(
lff = sort_table_data(lff, sort_by) lff = sort_table_data(lff, sort_by)
def to_bytes(buffer): def to_bytes(buffer):
lff.collect(engine="streaming").write_excel(buffer, worksheet="DECP") write_styled_excel(lff.collect(engine="streaming"), buffer)
date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
return dcc.send_bytes( return dcc.send_bytes(
+7 -2
View File
@@ -40,7 +40,12 @@ from src.utils.data import (
) )
from src.utils.frontend import get_enum_values_as_dict from src.utils.frontend import get_enum_values_as_dict
from src.utils.seo import META_CONTENT from src.utils.seo import META_CONTENT
from src.utils.table import COLUMNS, get_default_hidden_columns, prepare_table_data from src.utils.table import (
COLUMNS,
get_default_hidden_columns,
prepare_table_data,
write_styled_excel,
)
NAME = "Observatoire" NAME = "Observatoire"
@@ -811,7 +816,7 @@ def download_observatoire(_n_clicks, filter_params, hidden_columns):
dff = dff.drop(hidden_columns) dff = dff.drop(hidden_columns)
def to_bytes(buffer): def to_bytes(buffer):
dff.write_excel(buffer, worksheet="DECP") write_styled_excel(dff, buffer)
date = datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
return dcc.send_bytes(to_bytes, filename=f"decp_observatoire_{date}.xlsx") return dcc.send_bytes(to_bytes, filename=f"decp_observatoire_{date}.xlsx")
+2 -1
View File
@@ -30,6 +30,7 @@ from src.utils.table import (
invert_columns, invert_columns,
prepare_table_data, prepare_table_data,
sort_table_data, sort_table_data,
write_styled_excel,
) )
from src.utils.tracking import track_search from src.utils.tracking import track_search
@@ -342,7 +343,7 @@ def download_data(n_clicks, filter_query, sort_by, hidden_columns: list | None =
lff = sort_table_data(lff, sort_by) lff = sort_table_data(lff, sort_by)
def to_bytes(buffer): def to_bytes(buffer):
lff.collect(engine="streaming").write_excel(buffer, worksheet="DECP") write_styled_excel(lff.collect(engine="streaming"), buffer)
date = datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
return dcc.send_bytes(to_bytes, filename=f"decp_{date}.xlsx") return dcc.send_bytes(to_bytes, filename=f"decp_{date}.xlsx")
+6 -3
View File
@@ -33,6 +33,7 @@ from src.utils.table import (
get_default_hidden_columns, get_default_hidden_columns,
prepare_table_data, prepare_table_data,
sort_table_data, sort_table_data,
write_styled_excel,
) )
from src.utils.tracking import track_search from src.utils.tracking import track_search
@@ -418,8 +419,10 @@ def download_titulaire_data(
df_to_download = pl.DataFrame(data) df_to_download = pl.DataFrame(data)
def to_bytes(buffer): def to_bytes(buffer):
df_to_download.write_excel( write_styled_excel(
buffer, worksheet="DECP" if annee in ["Toutes les années", None] else annee df_to_download,
buffer,
worksheet="DECP" if annee in ["Toutes les années", None] else annee,
) )
date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
@@ -460,7 +463,7 @@ def download_filtered_titulaire_data(
lff = sort_table_data(lff, sort_by) lff = sort_table_data(lff, sort_by)
def to_bytes(buffer): def to_bytes(buffer):
lff.collect(engine="streaming").write_excel(buffer, worksheet="DECP") write_styled_excel(lff.collect(engine="streaming"), buffer)
date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S") date = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
return dcc.send_bytes( return dcc.send_bytes(