From f87902d1acba9cee0e2d57c1ea64aca35a417734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9o=20BARAS=20=28IUT1=20Grenoble=29?= Date: Fri, 26 Jan 2024 16:54:50 +0100 Subject: [PATCH] =?UTF-8?q?Corrige=20la=20boucle=20en=20erreur=20pour=20le?= =?UTF-8?q?=20calcul=20des=20moyennes=20d'aggr=C3=A9gat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/pe/pe_jury.py | 6 ++---- app/pe/pe_trajectoire.py | 25 ++++++++++++++++++++----- app/pe/pe_trajectoiretag.py | 16 +++++++--------- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/app/pe/pe_jury.py b/app/pe/pe_jury.py index ec87bf7e..3d5f116c 100644 --- a/app/pe/pe_jury.py +++ b/app/pe/pe_jury.py @@ -455,10 +455,8 @@ def compute_trajectoires_tag( pe_comp.pe_print(f" --> Fusion {nom}") - """Création de la trajectoire_tagguee associée""" - trajectoire_tagguee = TrajectoireTag( - nom, trajectoire, semestres_taggues, etudiants - ) + trajectoire_tagguee = TrajectoireTag(nom, trajectoire, semestres_taggues) + """Trajectoire_tagguee associée""" """Mémorise le résultat""" trajectoires_tagguees[trajectoire_id] = trajectoire_tagguee diff --git a/app/pe/pe_trajectoire.py b/app/pe/pe_trajectoire.py index d527de3c..d4fa6c9d 100644 --- a/app/pe/pe_trajectoire.py +++ b/app/pe/pe_trajectoire.py @@ -1,4 +1,4 @@ -import app.pe.pe_comp as pe_tools +import app.pe.pe_comp as pe_comp from app.models import FormSemestre from app.pe.pe_etudiant import EtudiantsJuryPE, get_dernier_semestre_en_date @@ -83,16 +83,16 @@ class TrajectoiresJuryPE: analysés + les mémorise dans les données de l'étudiant """ - for nom_aggregat in pe_tools.TOUS_LES_SEMESTRES + pe_tools.TOUS_LES_AGGREGATS: + for nom_aggregat in pe_comp.TOUS_LES_SEMESTRES + pe_comp.TOUS_LES_AGGREGATS: """L'aggrégat considéré (par ex: 3S=S1+S2+S3), son nom de son semestre terminal (par ex: S3) et son numéro (par ex: 3)""" - noms_semestre_de_aggregat = pe_tools.PARCOURS[nom_aggregat]["aggregat"] + noms_semestre_de_aggregat = pe_comp.PARCOURS[nom_aggregat]["aggregat"] nom_semestre_terminal = noms_semestre_de_aggregat[-1] for etudid in etudiants.cursus: if etudid not in self.suivi: self.suivi[etudid] = {aggregat: None - for aggregat in pe_tools.TOUS_LES_SEMESTRES + pe_tools.TOUS_LES_AGGREGATS} + for aggregat in pe_comp.TOUS_LES_SEMESTRES + pe_comp.TOUS_LES_AGGREGATS} """Le formsemestre terminal (dernier en date) associé au semestre marquant la fin de l'aggrégat @@ -124,6 +124,21 @@ class TrajectoiresJuryPE: # assert dernier_semestre_aggregat == formsemestre_terminal +def get_trajectoires_etudid(trajectoires, etudid): + """Fonction pour débuggage: renvoie la liste des trajectoires_id des + trajectoires suivies par un étudiant + """ + if etudid not in trajectoires.suivi: + pe_comp.pe_print(f"{etudid} fait-il bien partie du jury ?") + + liste = [] + for aggregat in pe_comp.TOUS_LES_PARCOURS: + trajet = trajectoires.suivi[etudid][aggregat] + if trajet: + liste.append(trajet.trajectoire_id) + return liste + + def get_semestres_a_aggreger(self, aggregat: str, formsemestre_id_terminal: int): """Pour un nom d'aggrégat donné (par ex: 'S3') et un semestre terminal cible identifié par son formsemestre_id (par ex: 'S3 2022-2023'), @@ -138,7 +153,7 @@ def get_semestres_a_aggreger(self, aggregat: str, formsemestre_id_terminal: int) formsemestre_id_terminal: L'identifiant du formsemestre terminal de l'aggrégat, devant correspondre au dernier semestre de l'aggrégat """ - noms_semestres_aggreges = pe_tools.PARCOURS[aggregat]["aggregat"] + noms_semestres_aggreges = pe_comp.PARCOURS[aggregat]["aggregat"] formsemestres = {} for etudid in self.cursus: diff --git a/app/pe/pe_trajectoiretag.py b/app/pe/pe_trajectoiretag.py index 71b665dc..07b742ca 100644 --- a/app/pe/pe_trajectoiretag.py +++ b/app/pe/pe_trajectoiretag.py @@ -64,8 +64,7 @@ class TrajectoireTag(TableTag): self, nom: str, trajectoire: Trajectoire, - semestres_taggues: dict[int, SemestreTag], - donnees_etudiants: EtudiantsJuryPE, + semestres_taggues: dict[int, SemestreTag] ): """ """ TableTag.__init__(self, nom=nom) @@ -80,14 +79,13 @@ class TrajectoireTag(TableTag): self.semestres_aggreges = trajectoire.semestres_aggreges + self.semestres_tags_aggreges = {} """Les semestres tags associés aux semestres aggrégés""" - try: - self.semestres_tags_aggreges = { - frmsem_id: semestres_taggues[frmsem_id] - for frmsem_id in semestres_taggues - } - except: - raise ValueError("Semestres taggués manquants") + for frmsem_id in self.semestres_aggreges: + try: + self.semestres_tags_aggreges[frmsem_id] = semestres_taggues[frmsem_id] + except: + raise ValueError("Semestres taggués manquants") """Les étudiants (état civil + cursus connu)""" self.etuds = nt.etuds