Améliorations sur le typage

This commit is contained in:
Colin Maudry
2026-04-19 23:23:07 +02:00
parent 19449969d6
commit ad58c1152a
+9 -7
View File
@@ -213,13 +213,13 @@ def format_values(dff: pl.DataFrame) -> pl.DataFrame:
return dff return dff
def filter_table_data( def filter_table_data(lff: pl.LazyFrame, filter_query: str) -> pl.LazyFrame:
lff: pl.LazyFrame, filter_query: str, filter_source: str
) -> pl.LazyFrame:
_schema = lff.collect_schema() _schema = lff.collect_schema()
filtering_expressions = filter_query.split(" && ") filtering_expressions = filter_query.split(" && ")
for filter_part in filtering_expressions: for filter_part in filtering_expressions:
col_name, operator, filter_value = split_filter_part(filter_part) col_name, operator, filter_value = split_filter_part(filter_part)
if not isinstance(col_name, str) or not isinstance(filter_value, str):
continue
col_type = str(_schema[col_name]) col_type = str(_schema[col_name])
# logger.debug("filter_value:", filter_value) # logger.debug("filter_value:", filter_value)
# logger.debug("filter_value_type:", type(filter_value)) # logger.debug("filter_value_type:", type(filter_value))
@@ -252,7 +252,7 @@ def filter_table_data(
elif operator == "<=": elif operator == "<=":
lff = lff.filter(pl.col(col_name) <= filter_value) lff = lff.filter(pl.col(col_name) <= filter_value)
elif operator == "contains": elif operator == "contains":
if col_type in ["String", "Date"]: if col_type in ["String", "Date"] and isinstance(filter_value, str):
filter_value = filter_value.strip('"') filter_value = filter_value.strip('"')
if filter_value.endswith("*"): if filter_value.endswith("*"):
lff = lff.filter( lff = lff.filter(
@@ -290,7 +290,9 @@ def sort_table_data(lff: pl.LazyFrame, sort_by: list) -> pl.LazyFrame:
def setup_table_columns( def setup_table_columns(
dff, hideable: bool = True, exclude: list = None, new_columns: list = None dff,
hideable: bool = True,
exclude: list | None = None,
) -> tuple: ) -> tuple:
# Liste finale de colonnes # Liste finale de colonnes
markdown_exceptions = ["montant", "titulaire_distance", "distance", "dureeMois"] markdown_exceptions = ["montant", "titulaire_distance", "distance", "dureeMois"]
@@ -383,7 +385,7 @@ def _load_filter_sort_postprocess(filter_query, sort_by_key):
lff: pl.LazyFrame = query_marches().lazy() lff: pl.LazyFrame = query_marches().lazy()
if filter_query: if filter_query:
lff = filter_table_data(lff, filter_query, "tableau") lff = filter_table_data(lff, filter_query)
if sort_by_key: if sort_by_key:
sort_by = [ sort_by = [
@@ -443,7 +445,7 @@ def prepare_table_data(
lff = query_marches().lazy() lff = query_marches().lazy()
if filter_query: if filter_query:
lff = filter_table_data(lff, filter_query, source_table) lff = filter_table_data(lff, filter_query)
if sort_by and len(sort_by) > 0: if sort_by and len(sort_by) > 0:
lff = sort_table_data(lff, sort_by) lff = sort_table_data(lff, sort_by)