Merge branch 'hotfix/2.0.1'

This commit is contained in:
Colin Maudry
2025-09-23 17:40:14 +02:00
4 changed files with 36 additions and 7 deletions
+6 -2
View File
@@ -31,7 +31,11 @@ python run.py
## Notes de version
### 2.0.1 (23 septembre 2025)
#### 2.0.1 (23 septembre 2025)
- Bloquage du bouton de téléchargement si trop de lignes (+ 65000) [#38](https://github.com/ColinMaudry/decp.info/issues/38)
- Meilleures instructions d'installation et lancement
- Coquilles 🐚
### 2.0.0 (23 septembre 2025)
@@ -39,7 +43,7 @@ python run.py
- section "À propos" plus développée
- correction de bugs dans les filtres de la data table
### 2.0.0-alpha
#### 2.0.0-alpha
- Data table fonctionnelle
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "decp.info"
description = ""
version = "2.0.0"
version = "2.0.1"
requires-python = ">= 3.10"
authors = [
{ name = "Colin Maudry", email = "colin+decp@maudry.com" }
+1 -1
View File
@@ -19,7 +19,7 @@ layout = [
children=[
html.H2(title),
dcc.Markdown(
"""Outil d'exploration libre et gratuit des [Données Essentielles de la Commande Publique](), développé par Colin Maudry.
"""Outil d'exploration libre et gratuit des données de marchés publics, développé par Colin Maudry.
Ce projet vise à démocratiser l'accès aux données des marchés publics et à un outil performant et gratuit. Si vous le trouvez utile
j'aimerais beaucoup échanger avec vous pour comprendre vos cas d'usages et vos besoins. Cet outil ne peut rester performant que si je comprends les problèmes qu'il peut aider à résoudre. Ce projet ne peut rester gratuit que grâce au financement du développement de nouvelles fonctionnalités.
+28 -3
View File
@@ -141,7 +141,11 @@ layout = [
html.Div(
[
html.P("lignes", id="nb_rows"),
html.Button("Télécharger au format Excel", id="btn-download-data"),
html.Button(
"Téléchargement désactivé au-delà de 65 000 lignes",
id="btn-download-data",
disabled=True,
),
dcc.Download(id="download-data"),
html.P("Données mises à jour le " + str(update_date)),
],
@@ -157,6 +161,9 @@ layout = [
Output("table", "data"),
Output("table", "data_timestamp"),
Output("nb_rows", "children"),
Output("btn-download-data", "disabled"),
Output("btn-download-data", "children"),
Output("btn-download-data", "title"),
Input("table", "page_current"),
Input("table", "page_size"),
Input("table", "filter_query"),
@@ -215,7 +222,9 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
df_filtered = dff.clone()
nb_rows = f"{format_number(dff.height)} lignes"
height = dff.height
nb_rows = f"{format_number(height)} lignes"
# Pagination des données
start_row = page_current * page_size
@@ -223,7 +232,23 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
dff = dff.slice(start_row, page_size)
dicts = dff.to_dicts()
return dicts, data_timestamp + 1, nb_rows
if height > 65000:
download_disabled = True
download_text = "Téléchargement désactivé au-delà de 65 000 lignes"
download_title = "Excel ne supporte pas d'avoir plus de 65 000 URLs dans une même feuille de calcul. Contactez-moi pour me présenter votre besoin en téléchargement afin que je puisse adapter la solution."
else:
download_disabled = False
download_text = "Télécharger au format Excel"
download_title = ""
return (
dicts,
data_timestamp + 1,
nb_rows,
download_disabled,
download_text,
download_title,
)
@callback(