Ajout du lien observatoire dans titulaire_nom via add_links() #65

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-03-18 14:48:05 +01:00
parent 1d88682f85
commit bf1791635f
2 changed files with 41 additions and 7 deletions
+15 -7
View File
@@ -62,6 +62,20 @@ def add_links(dff: pl.DataFrame):
for col in ["uid", "acheteur_nom", "titulaire_nom", "acheteur_id", "titulaire_id"]:
if col in dff.columns:
if col.startswith("titulaire_"):
detail_link = (
'<a href = "/titulaires/'
+ pl.col("titulaire_id")
+ '">'
+ pl.col(col)
+ "</a>"
)
if col == "titulaire_nom":
detail_link = (
detail_link
+ ' <a href="/observatoire?titulaire_id='
+ pl.col("titulaire_id")
+ '" title="Voir dans l\'observatoire">📊</a>'
)
dff = dff.with_columns(
pl.when(
pl.Expr.or_(
@@ -69,13 +83,7 @@ def add_links(dff: pl.DataFrame):
pl.col("titulaire_typeIdentifiant") == "SIRET",
)
)
.then(
'<a href = "/titulaires/'
+ pl.col("titulaire_id")
+ '">'
+ pl.col(col)
+ "</a>"
)
.then(detail_link)
.otherwise(pl.col(col))
.alias(col)
)
+26
View File
@@ -111,3 +111,29 @@ def test_004_add_links_observatoire_acheteur():
# acheteur_id should NOT contain observatoire link
assert "/observatoire" not in id_value
def test_005_add_links_observatoire_titulaire():
import polars as pl
from src.utils import add_links
dff = pl.DataFrame(
{
"titulaire_id": ["t1"],
"titulaire_nom": ["TITULAIRE 1"],
"titulaire_typeIdentifiant": ["SIRET"],
}
)
result = add_links(dff)
nom_value = result["titulaire_nom"][0]
id_value = result["titulaire_id"][0]
# titulaire_nom should contain detail link + observatoire link
assert "/titulaires/t1" in nom_value
assert "TITULAIRE 1" in nom_value
assert "/observatoire?titulaire_id=t1" in nom_value
assert "📊" in nom_value
# titulaire_id should NOT contain observatoire link
assert "/observatoire" not in id_value