From d10888c005a1939dbfe40f66dca0db5c2a4d72d6 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 16 Aug 2026 13:22:14 +0000 Subject: [PATCH] Corriger les erreurs OpenRouter et exposer Adminer --- app_new/outlook/auto_interpret.py | 6 +++--- docker-compose.yml | 2 +- ent_watchdog.py | 9 ++++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app_new/outlook/auto_interpret.py b/app_new/outlook/auto_interpret.py index 983dc07..5b60146 100644 --- a/app_new/outlook/auto_interpret.py +++ b/app_new/outlook/auto_interpret.py @@ -17,8 +17,8 @@ from app_new.core.models import User def get_openrouter_api_key(): """Récupère la clé API OpenRouter depuis les paramètres.""" from app_new.core.models.settings import AppSettings - setting = AppSettings.query.filter_by(key='openrouter_api_key').first() - return setting.value if setting else None + # AppSettings.get déchiffre les valeurs sensibles ``enc:...``. + return AppSettings.get('openrouter_api_key') def get_openrouter_model(): @@ -419,4 +419,4 @@ def get_last_run_status(): if __name__ == '__main__': """Point d'entrée pour le cron.""" result = run_auto_interpret() - print(json.dumps(result, indent=2, ensure_ascii=False)) \ No newline at end of file + print(json.dumps(result, indent=2, ensure_ascii=False)) diff --git a/docker-compose.yml b/docker-compose.yml index accde02..fc66fec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -78,7 +78,7 @@ services: mariadb: condition: service_healthy ports: - - "127.0.0.1:8080:8080" + - "0.0.0.0:8080:8080" environment: - TZ=Europe/Paris healthcheck: diff --git a/ent_watchdog.py b/ent_watchdog.py index bf29009..1af962a 100644 --- a/ent_watchdog.py +++ b/ent_watchdog.py @@ -286,7 +286,14 @@ Si c'est juste de l'information sans action, utilise "action": "inform". elif '```' in content: content = content.split('```')[1].split('```')[0] - result = json.loads(content.strip()) + cleaned = content.strip() + try: + result = json.loads(cleaned) + except json.JSONDecodeError: + start = cleaned.find('{') + if start < 0: + raise + result, _ = json.JSONDecoder().raw_decode(cleaned[start:]) # Retourner la première analyse if result.get('analyses') and len(result['analyses']) > 0: