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:
+15
-7
@@ -62,6 +62,20 @@ def add_links(dff: pl.DataFrame):
|
|||||||
for col in ["uid", "acheteur_nom", "titulaire_nom", "acheteur_id", "titulaire_id"]:
|
for col in ["uid", "acheteur_nom", "titulaire_nom", "acheteur_id", "titulaire_id"]:
|
||||||
if col in dff.columns:
|
if col in dff.columns:
|
||||||
if col.startswith("titulaire_"):
|
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(
|
dff = dff.with_columns(
|
||||||
pl.when(
|
pl.when(
|
||||||
pl.Expr.or_(
|
pl.Expr.or_(
|
||||||
@@ -69,13 +83,7 @@ def add_links(dff: pl.DataFrame):
|
|||||||
pl.col("titulaire_typeIdentifiant") == "SIRET",
|
pl.col("titulaire_typeIdentifiant") == "SIRET",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.then(
|
.then(detail_link)
|
||||||
'<a href = "/titulaires/'
|
|
||||||
+ pl.col("titulaire_id")
|
|
||||||
+ '">'
|
|
||||||
+ pl.col(col)
|
|
||||||
+ "</a>"
|
|
||||||
)
|
|
||||||
.otherwise(pl.col(col))
|
.otherwise(pl.col(col))
|
||||||
.alias(col)
|
.alias(col)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -111,3 +111,29 @@ def test_004_add_links_observatoire_acheteur():
|
|||||||
|
|
||||||
# acheteur_id should NOT contain observatoire link
|
# acheteur_id should NOT contain observatoire link
|
||||||
assert "/observatoire" not in id_value
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user