refactor: extrait build_view_query et le réutilise dans le partage #95

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-06-29 16:19:51 +02:00
parent 03023a6b8c
commit 22fc0cbab2
3 changed files with 55 additions and 13 deletions
+19
View File
@@ -1,4 +1,6 @@
import json
import os
import urllib.parse
import uuid
import polars as pl
@@ -557,6 +559,23 @@ def invert_columns(columns):
return inverted_columns
def build_view_query(filter_query, sort_by, hidden_columns) -> str:
"""
Construit la query string d'une vue Tableau (filtres + tris + colonnes),
identique à celle produite par le bouton « Partager la vue ».
hidden_columns : colonnes masquées ; on stocke les colonnes visibles.
"""
params = {}
if filter_query:
params["filtres"] = filter_query
if sort_by:
params["tris"] = json.dumps(sort_by)
if hidden_columns:
params["colonnes"] = ",".join(invert_columns(hidden_columns))
return urllib.parse.urlencode(params)
COLUMNS = schema.names()
_EXCEL_MIN_COLUMN_WIDTH = 132 # ≈ 3.5 cm à 96 DPI