Corriger les équipements multiples des interprétations ENT
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run

This commit is contained in:
root 2026-08-16 13:40:57 +00:00
parent 0321a08b12
commit 192a08b99c

View file

@ -676,6 +676,14 @@ Reponds en JSON avec:
content = content[:json_end+1]
analysis = json.loads(content) if content else {}
# Le modèle peut renvoyer plusieurs équipements sous forme de
# tableau alors que la colonne est volontairement textuelle.
equipment = analysis.get('equipment', '')
if isinstance(equipment, (list, tuple)):
equipment = ', '.join(str(item) for item in equipment if item)
elif equipment is None:
equipment = ''
# Supprimer l'ancienne interpretation si elle existe
EntMessageInterpretation.query.filter_by(message_id=msg_id).delete()
@ -687,7 +695,7 @@ Reponds en JSON avec:
analysis_action=analysis.get('action', 'inform'),
analysis_priority=analysis.get('priority', 'medium'),
analysis_summary=analysis.get('summary', ''),
suggested_equipment=analysis.get('equipment', ''),
suggested_equipment=str(equipment),
suggested_description=analysis.get('location', ''),
status='pending',
)
@ -697,6 +705,7 @@ Reponds en JSON avec:
else:
flash(f'Erreur API: {response.status_code}', 'danger')
except Exception as e:
db.session.rollback()
flash(f'Erreur interpretation: {str(e)[:200]}', 'danger')
return redirect(url_for('admin.data_management', page=request.args.get('page', 1)))