Corrections de typage et d'appels à filter_table_data
This commit is contained in:
@@ -426,7 +426,7 @@ def download_filtered_acheteur_data(
|
|||||||
|
|
||||||
if filter_query:
|
if filter_query:
|
||||||
track_search(filter_query, "ach download")
|
track_search(filter_query, "ach download")
|
||||||
lff = filter_table_data(lff, filter_query, "ach download")
|
lff = filter_table_data(lff, filter_query)
|
||||||
|
|
||||||
if len(sort_by) > 0:
|
if len(sort_by) > 0:
|
||||||
lff = sort_table_data(lff, sort_by)
|
lff = sort_table_data(lff, sort_by)
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ def update_table(href, page_current, page_size, filter_query, sort_by, data_time
|
|||||||
State("tableau_datatable", "hidden_columns"),
|
State("tableau_datatable", "hidden_columns"),
|
||||||
prevent_initial_call=True,
|
prevent_initial_call=True,
|
||||||
)
|
)
|
||||||
def download_data(n_clicks, filter_query, sort_by, hidden_columns: list = None):
|
def download_data(n_clicks, filter_query, sort_by, hidden_columns: list | None = None):
|
||||||
lff: pl.LazyFrame = query_marches().lazy()
|
lff: pl.LazyFrame = query_marches().lazy()
|
||||||
|
|
||||||
# Les colonnes masquées sont supprimées
|
# Les colonnes masquées sont supprimées
|
||||||
@@ -324,7 +324,7 @@ def download_data(n_clicks, filter_query, sort_by, hidden_columns: list = None):
|
|||||||
|
|
||||||
if filter_query:
|
if filter_query:
|
||||||
track_search(filter_query, "tab download")
|
track_search(filter_query, "tab download")
|
||||||
lff = filter_table_data(lff, filter_query, "tab download")
|
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)
|
||||||
|
|||||||
@@ -430,7 +430,12 @@ def download_titulaire_data(
|
|||||||
prevent_initial_call=True,
|
prevent_initial_call=True,
|
||||||
)
|
)
|
||||||
def download_filtered_titulaire_data(
|
def download_filtered_titulaire_data(
|
||||||
data, n_clicks, titulaire_nom, filter_query, sort_by, hidden_columns: list = None
|
data,
|
||||||
|
n_clicks,
|
||||||
|
titulaire_nom,
|
||||||
|
filter_query,
|
||||||
|
sort_by,
|
||||||
|
hidden_columns: list | None = None,
|
||||||
):
|
):
|
||||||
lff: pl.LazyFrame = pl.LazyFrame(
|
lff: pl.LazyFrame = pl.LazyFrame(
|
||||||
data
|
data
|
||||||
@@ -442,7 +447,7 @@ def download_filtered_titulaire_data(
|
|||||||
|
|
||||||
if filter_query:
|
if filter_query:
|
||||||
track_search(filter_query, "titu download")
|
track_search(filter_query, "titu download")
|
||||||
lff = filter_table_data(lff, filter_query, "titu download")
|
lff = filter_table_data(lff, filter_query)
|
||||||
|
|
||||||
if len(sort_by) > 0:
|
if len(sort_by) > 0:
|
||||||
lff = sort_table_data(lff, sort_by)
|
lff = sort_table_data(lff, sort_by)
|
||||||
|
|||||||
+1
-1
@@ -150,7 +150,7 @@ def dates_to_strings(lff: pl.LazyFrame, column: str) -> pl.LazyFrame:
|
|||||||
def normalize_sort_by(sort_by) -> tuple:
|
def normalize_sort_by(sort_by) -> tuple:
|
||||||
if not sort_by:
|
if not sort_by:
|
||||||
return ()
|
return ()
|
||||||
return tuple(sorted((entry["column_id"], entry["direction"]) for entry in sort_by))
|
return tuple((entry["column_id"], entry["direction"]) for entry in sort_by)
|
||||||
|
|
||||||
|
|
||||||
def format_number(number) -> str:
|
def format_number(number) -> str:
|
||||||
|
|||||||
+1
-3
@@ -38,9 +38,7 @@ def test_filter_table_data_does_not_call_track_search(monkeypatch, sample_lff):
|
|||||||
calls = []
|
calls = []
|
||||||
monkeypatch.setattr(table, "track_search", lambda *a, **kw: calls.append(a))
|
monkeypatch.setattr(table, "track_search", lambda *a, **kw: calls.append(a))
|
||||||
|
|
||||||
result = table.filter_table_data(
|
result = table.filter_table_data(sample_lff, "{objet} icontains travaux").collect()
|
||||||
sample_lff, "{objet} icontains travaux", "tableau"
|
|
||||||
).collect()
|
|
||||||
|
|
||||||
assert calls == []
|
assert calls == []
|
||||||
assert result.height == 1
|
assert result.height == 1
|
||||||
|
|||||||
@@ -783,7 +783,7 @@ dependencies = [
|
|||||||
{ name = "xlsxwriter" },
|
{ name = "xlsxwriter" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.optional-dependencies]
|
[package.dev-dependencies]
|
||||||
dev = [
|
dev = [
|
||||||
{ name = "dash", extra = ["testing"] },
|
{ name = "dash", extra = ["testing"] },
|
||||||
{ name = "fastexcel" },
|
{ name = "fastexcel" },
|
||||||
@@ -798,29 +798,32 @@ dev = [
|
|||||||
requires-dist = [
|
requires-dist = [
|
||||||
{ name = "dash", specifier = "==3.4.0" },
|
{ name = "dash", specifier = "==3.4.0" },
|
||||||
{ name = "dash", extras = ["compress"] },
|
{ name = "dash", extras = ["compress"] },
|
||||||
{ name = "dash", extras = ["testing"], marker = "extra == 'dev'" },
|
|
||||||
{ name = "dash-bootstrap-components" },
|
{ name = "dash-bootstrap-components" },
|
||||||
{ name = "dash-extensions" },
|
{ name = "dash-extensions" },
|
||||||
{ name = "dash-leaflet" },
|
{ name = "dash-leaflet" },
|
||||||
{ name = "duckdb" },
|
{ name = "duckdb" },
|
||||||
{ name = "fastexcel", marker = "extra == 'dev'" },
|
|
||||||
{ name = "flask-caching" },
|
{ name = "flask-caching" },
|
||||||
{ name = "gunicorn" },
|
{ name = "gunicorn" },
|
||||||
{ name = "httpx" },
|
{ name = "httpx" },
|
||||||
{ name = "pandas" },
|
{ name = "pandas" },
|
||||||
{ name = "plotly", extras = ["express"] },
|
{ name = "plotly", extras = ["express"] },
|
||||||
{ name = "polars" },
|
{ name = "polars" },
|
||||||
{ name = "pre-commit", marker = "extra == 'dev'" },
|
|
||||||
{ name = "pyarrow", specifier = ">=23.0.1" },
|
{ name = "pyarrow", specifier = ">=23.0.1" },
|
||||||
{ name = "pytest", marker = "extra == 'dev'" },
|
|
||||||
{ name = "pytest-env", marker = "extra == 'dev'" },
|
|
||||||
{ name = "python-dotenv" },
|
{ name = "python-dotenv" },
|
||||||
{ name = "selenium", marker = "extra == 'dev'" },
|
|
||||||
{ name = "unidecode" },
|
{ name = "unidecode" },
|
||||||
{ name = "webdriver-manager", marker = "extra == 'dev'" },
|
|
||||||
{ name = "xlsxwriter" },
|
{ name = "xlsxwriter" },
|
||||||
]
|
]
|
||||||
provides-extras = ["dev"]
|
|
||||||
|
[package.metadata.requires-dev]
|
||||||
|
dev = [
|
||||||
|
{ name = "dash", extras = ["testing"] },
|
||||||
|
{ name = "fastexcel" },
|
||||||
|
{ name = "pre-commit" },
|
||||||
|
{ name = "pytest" },
|
||||||
|
{ name = "pytest-env" },
|
||||||
|
{ name = "selenium" },
|
||||||
|
{ name = "webdriver-manager" },
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dill"
|
name = "dill"
|
||||||
|
|||||||
Reference in New Issue
Block a user