Suivi des recherches #58
This commit is contained in:
@@ -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=
|
||||||
|
|||||||
@@ -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
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user