1
0
forked from ScoDoc/ScoDoc

Fix: ECTS are floats

This commit is contained in:
Emmanuel Viennet 2024-07-07 23:13:00 +02:00
parent b58ab93fee
commit 12105ba056
2 changed files with 4 additions and 4 deletions

View File

@ -150,7 +150,7 @@ class ResultatsSemestre(ResultatsCache):
def etud_ects_tot_sem(self, etudid: int) -> float:
"""Le total des ECTS associées à ce semestre (que l'étudiant peut ou non valider)"""
etud_ues = self.etud_ues(etudid)
return sum([ue.ects or 0 for ue in etud_ues]) if etud_ues else 0.0
return sum([ue.ects or 0.0 for ue in etud_ues]) if etud_ues else 0.0
def modimpl_notes(self, modimpl_id: int, ue_id: int) -> np.ndarray:
"""Les notes moyennes des étudiants du sem. à ce modimpl dans cette ue.

View File

@ -322,7 +322,7 @@ class NotesTableCompat(ResultatsSemestre):
validations = self.get_formsemestre_validations()
return validations.decisions_jury_ues.get(etudid, None)
def get_etud_ects_valides(self, etudid: int, decisions_ues: dict = False) -> int:
def get_etud_ects_valides(self, etudid: int, decisions_ues: dict = False) -> float:
"""Le total des ECTS validés (et enregistrés) par l'étudiant dans ce semestre.
NB: avant jury, rien d'enregistré, donc zéro ECTS.
Optimisation: si decisions_ues est passé, l'utilise, sinon appelle get_etud_decisions_ue()
@ -330,8 +330,8 @@ class NotesTableCompat(ResultatsSemestre):
if decisions_ues is False:
decisions_ues = self.get_etud_decisions_ue(etudid)
if not decisions_ues:
return 0
return int(sum(d.get("ects", 0) for d in decisions_ues.values()))
return 0.0
return float(sum(d.get("ects", 0) for d in decisions_ues.values()))
def get_etud_decision_sem(self, etudid: int) -> dict:
"""Decision du jury semestre prise pour cet etudiant, ou None s'il n'y en pas eu.