113 lines
3.5 KiB
Python
113 lines
3.5 KiB
Python
# -*- 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 évietr les warnins 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)
|