Corriger les équipements multiples des interprétations ENT
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
This commit is contained in:
parent
0321a08b12
commit
192a08b99c
1 changed files with 10 additions and 1 deletions
|
|
@ -676,6 +676,14 @@ Reponds en JSON avec:
|
||||||
content = content[:json_end+1]
|
content = content[:json_end+1]
|
||||||
|
|
||||||
analysis = json.loads(content) if content else {}
|
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
|
# Supprimer l'ancienne interpretation si elle existe
|
||||||
EntMessageInterpretation.query.filter_by(message_id=msg_id).delete()
|
EntMessageInterpretation.query.filter_by(message_id=msg_id).delete()
|
||||||
|
|
@ -687,7 +695,7 @@ Reponds en JSON avec:
|
||||||
analysis_action=analysis.get('action', 'inform'),
|
analysis_action=analysis.get('action', 'inform'),
|
||||||
analysis_priority=analysis.get('priority', 'medium'),
|
analysis_priority=analysis.get('priority', 'medium'),
|
||||||
analysis_summary=analysis.get('summary', ''),
|
analysis_summary=analysis.get('summary', ''),
|
||||||
suggested_equipment=analysis.get('equipment', ''),
|
suggested_equipment=str(equipment),
|
||||||
suggested_description=analysis.get('location', ''),
|
suggested_description=analysis.get('location', ''),
|
||||||
status='pending',
|
status='pending',
|
||||||
)
|
)
|
||||||
|
|
@ -697,6 +705,7 @@ Reponds en JSON avec:
|
||||||
else:
|
else:
|
||||||
flash(f'Erreur API: {response.status_code}', 'danger')
|
flash(f'Erreur API: {response.status_code}', 'danger')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
db.session.rollback()
|
||||||
flash(f'Erreur interpretation: {str(e)[:200]}', 'danger')
|
flash(f'Erreur interpretation: {str(e)[:200]}', 'danger')
|
||||||
|
|
||||||
return redirect(url_for('admin.data_management', page=request.args.get('page', 1)))
|
return redirect(url_for('admin.data_management', page=request.args.get('page', 1)))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue