# -*- mode: python -*- # -*- coding: utf-8 -*- """Test jury et capitalisation Création 10 étudiants, puis formation en 4 semestre. Le premier étudiant redouble sa deuxième année. Utiliser comme: scotests/scointeractive.sh -r TEST00 scotests/test_capitalisation.py """ # La variable context est définie par le script de lancement # l'affecte ainsi pour éviter les warnings pylint: context = context # pylint: disable=undefined-variable import scotests.sco_fake_gen as sco_fake_gen # pylint: disable=import-error import sco_utils import sco_codes_parcours import sco_modalites G = sco_fake_gen.ScoFake(context.Notes) G.verbose = False # --- Création d'étudiants etuds = [G.create_etud(code_nip=None) for _ in range(10)] # Deux modalités # sco_modalites.do_modalite_create(context, {}) # --- Mise en place formation 4 semestres form_dut, ue_list, mod_list = G.setup_formation( nb_semestre=4, titre="DUT RT", acronyme="DUT-RT" ) # --- et une formation LP en 2 semestres form_lp, ue_list_lp, mod_list_lp = G.setup_formation( nb_semestre=2, titre="Licence Pro Ingéniérie Pédagogique", acronyme="LP IP" ) # et un semestre que l'on ne va pas utiliser ici: _, _ = G.setup_formsemestre( form_lp, mod_list_lp, semestre_id=1, date_debut="01/09/2021", date_fin="15/01/2022", titre="Licence Pro Ingéniérie Pédagogique", responsables=["callas"], modalite="FAP", ) # --- Crée les 4 semestres et affecte des notes aléatoires sems, evals = [], [] for semestre_id, date_debut, date_fin in [ (1, "01/09/2019", "15/01/2020"), (2, "16/01/2020", "30/06/2020"), (3, "01/09/2020", "15/01/2021"), (4, "16/01/2021", "30/06/2021"), ]: sem, eval_list = G.setup_formsemestre( form_dut, mod_list, semestre_id=semestre_id, date_debut=date_debut, date_fin=date_fin, titre="BUT Réseaux et Tests", ) sems.append(sem) evals.append(eval_list) # liste des listes d'evaluations for etud in etuds: G.inscrit_etudiant(sem, etud) G.set_etud_notes_sem(sem, eval_list, etuds) # def evals_premiere_ue(eval_list): # return # Le premier étudiant va redoubler sa deuxième année # on crée 2 semestres supplémentaires auxquels on n'inscrit que lui # puis on ajuste ses notes de S3, S4 et S3bis, S4bis etud = etuds[0] # l'étudiant redoublant for semestre_id, date_debut, date_fin in [ (3, "01/09/2022", "15/01/2023"), (4, "16/01/2023", "30/06/2023"), ]: sem, eval_list = G.setup_formsemestre( form_dut, mod_list, semestre_id=semestre_id, date_debut=date_debut, date_fin=date_fin, titre="BUT Réseaux et Tests", ) sems.append(sem) evals.append(eval_list) # liste des listes d'evaluations G.inscrit_etudiant(sem, etud) # Donne 11.5 aux evals UE1 de son premier S3: G.set_etud_notes_sem(sems[3 - 1], evals[3 - 1][:2], [etud], [11.5]) # et 8 aux evals de l'UE2: G.set_etud_notes_sem(sems[3 - 1], evals[3 - 1][2:], [etud], [8.0]) # et 9 en UE1 de son second S3: # G.set_etud_notes_sem(sems[5 - 1], evals[5 - 1][:2], [etud], [9.0]) # et 12 en U2 de son second S3: G.set_etud_notes_sem(sems[5 - 1], evals[5 - 1][2:], [etud], [12.0]) # Jury: S1/ADM, S2/ADJ, S3/AJ, S4/AJ G.set_code_jury(sems[0], etud, code_etat=sco_codes_parcours.ADM) G.set_code_jury(sems[1], etud, code_etat=sco_codes_parcours.ADJ) G.set_code_jury(sems[2], etud, code_etat=sco_codes_parcours.AJ) G.set_code_jury(sems[3], etud, code_etat=sco_codes_parcours.AJ)