From 8af09ece2882ac770d883bf27aa27aba585b725b Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Mon, 14 Mar 2022 08:05:31 +0100 Subject: [PATCH] Fix: poids ou ECTS absents -> exc sur certains bulletins --- app/but/bulletin_but.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/but/bulletin_but.py b/app/but/bulletin_but.py index cba3732b0..067840cd7 100644 --- a/app/but/bulletin_but.py +++ b/app/but/bulletin_but.py @@ -7,6 +7,7 @@ """Génération bulletin BUT """ +import collections import datetime from flask import url_for, g @@ -70,8 +71,8 @@ class BulletinBUT: "numero": ue.numero, "type": ue.type, "ECTS": { - "acquis": 0, # XXX TODO voir jury #sco92 - "total": ue.ects, + "acquis": 0.0, # XXX TODO voir jury #sco92 + "total": ue.ects or 0.0, # float même si non renseigné }, "color": ue.color, "competence": None, # XXX TODO lien avec référentiel @@ -171,10 +172,13 @@ class BulletinBUT: # eval_notes est une pd.Series avec toutes les notes des étudiants inscrits eval_notes = self.res.modimpls_results[e.moduleimpl_id].evals_notes[e.id] notes_ok = eval_notes.where(eval_notes > scu.NOTES_ABSENCE).dropna() - poids = { - ue.acronyme: self.res.modimpls_evals_poids[e.moduleimpl_id][ue.id][e.id] - for ue in self.res.ues - } + modimpls_evals_poids = self.res.modimpls_evals_poids[e.moduleimpl_id] + try: + poids = { + ue.acronyme: modimpls_evals_poids[ue.id][e.id] for ue in self.res.ues + } + except KeyError: + poids = collections.defaultdict(lambda: 0.0) d = { "id": e.id, "description": e.description,