Fix montants (locale) + timeout fetch Indy + message d'erreur
This commit is contained in:
+15
-3
@@ -5,7 +5,7 @@ normalise au format attendu par l'import (réutilisé par la page /import/).
|
||||
La « catégorie » Indy est un numéro de compte du plan comptable (PCG) ; on le
|
||||
mappe vers nos catégories. Montants en centimes, signés. `tva_intracom` => UE.
|
||||
|
||||
⚠️ API non officielle d'Indy : pour les données de l'utilisateur. Le token JWT
|
||||
API non officielle d'Indy : pour les données de l'utilisateur. Le token JWT
|
||||
expire (~1 h) et doit être renouvelé.
|
||||
"""
|
||||
from decimal import Decimal
|
||||
@@ -96,14 +96,26 @@ def fetch_transactions(token, date_debut=None, date_fin=None, search="", page=1,
|
||||
params["dateFrom"] = date_debut
|
||||
if date_fin:
|
||||
params["dateTo"] = date_fin
|
||||
timeout = httpx.Timeout(12.0, connect=8.0)
|
||||
try:
|
||||
with httpx.Client(base_url=base_url.rstrip("/"), headers=headers,
|
||||
timeout=30, follow_redirects=True) as c:
|
||||
timeout=timeout, follow_redirects=True) as c:
|
||||
r = c.get(TRANSACTIONS_PATH, params=params)
|
||||
if r.status_code != 200:
|
||||
return r.status_code, [], f"HTTP {r.status_code} (token expiré ?)"
|
||||
return r.status_code, [], (
|
||||
f"HTTP {r.status_code} — token expire, ou requete bloquee par "
|
||||
f"Cloudflare depuis le serveur.")
|
||||
if "json" not in r.headers.get("content-type", "").lower():
|
||||
return r.status_code, [], (
|
||||
"Reponse non-JSON (probablement Cloudflare). Le conteneur n'arrive "
|
||||
"pas a joindre Indy directement. Recupere le CSV depuis ton poste "
|
||||
"(MCP/CLI) et colle-le ci-dessous.")
|
||||
data = r.json()
|
||||
return 200, data.get("transactions", []), None
|
||||
except httpx.TimeoutException:
|
||||
return None, [], ("Delai depasse en joignant Indy : le conteneur n'a peut-etre "
|
||||
"pas d'acces Internet, ou Cloudflare bloque. Utilise le CSV "
|
||||
"depuis ton poste.")
|
||||
except Exception as ex: # noqa: BLE001
|
||||
return None, [], f"{type(ex).__name__}: {ex}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user