Suivi des recherches #58

This commit is contained in:
Colin Maudry
2025-11-12 16:08:38 +01:00
parent 5bfce2a1d9
commit 63622d83f5
3 changed files with 38 additions and 2 deletions
+5
View File
@@ -15,3 +15,8 @@ LOGIN_PASSWORD="" # mot de passe du serveur
LOGIN_EMAIL="connect@example.fr" # adresse utilisée pour se connecter au serveur SMTP LOGIN_EMAIL="connect@example.fr" # adresse utilisée pour se connecter au serveur SMTP
FROM_EMAIL="from@example.com" # adresse d'envoi des emails (From) FROM_EMAIL="from@example.com" # adresse d'envoi des emails (From)
TO_EMAIL="to@example.com" # adresse de destination des emails (To) TO_EMAIL="to@example.com" # adresse de destination des emails (To)
# Matomo
MATOMO_ID_SITE=
MATOMO_BASE_URL=
MATOMO_TOKEN=
+1
View File
@@ -27,6 +27,7 @@ layout = html.Div(
id="search", id="search",
type="text", type="text",
placeholder="Nom d'acheteur, d'entreprise, SIREN...", placeholder="Nom d'acheteur, d'entreprise, SIREN...",
autoFocus=True,
), ),
# html.Div( # html.Div(
# className="search_options", # className="search_options",
+32 -2
View File
@@ -1,11 +1,12 @@
import json import json
import logging import logging
import os import os
from time import sleep import uuid
from time import localtime, sleep
import polars as pl import polars as pl
import polars.selectors as cs import polars.selectors as cs
from httpx import get from httpx import get, post
from polars import Schema from polars import Schema
from polars.exceptions import ComputeError from polars.exceptions import ComputeError
from unidecode import unidecode from unidecode import unidecode
@@ -394,6 +395,34 @@ def get_data_schema() -> dict:
return new_schema return new_schema
def track_search(query):
if (
len(query) >= 4
and os.getenv("DEVELOPMENT").lower != "true"
and os.getenv("MATOMO_DOMAIN")
):
if os.getenv("DEVELOPMENT").lower() == "true":
url = "https://test.decp.info"
else:
url = "https://decp.info"
params = {
"idsite": os.getenv("MATOMO_ID_SITE"),
"url": url,
"rec": "1",
"action_name": "front_page_search",
"rand": uuid.uuid4().hex,
"apiv": "1",
"h": localtime().tm_hour,
"m": localtime().tm_min,
"s": localtime().tm_sec,
"search": query,
"token_auth": os.getenv("MATOMO_TOKEN"),
}
post(
url=f"https://{os.getenv('MATOMO_DOMAIN')}/matomo.php", params=params
).raise_for_status()
def search_org(dff: pl.DataFrame, query: str, org_type: str) -> pl.DataFrame: def search_org(dff: pl.DataFrame, query: str, org_type: str) -> pl.DataFrame:
""" """
Search in either 'acheteur' or 'titulaire' DataFrame. Search in either 'acheteur' or 'titulaire' DataFrame.
@@ -407,6 +436,7 @@ def search_org(dff: pl.DataFrame, query: str, org_type: str) -> pl.DataFrame:
return dff.select(pl.lit(False).alias("matches")) return dff.select(pl.lit(False).alias("matches"))
sleep(0.2) sleep(0.2)
track_search(query)
# Normalize query # Normalize query
normalized_query = unidecode(query.strip()).upper() normalized_query = unidecode(query.strip()).upper()