import sco_formations import json import random # 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 REQUEST = REQUEST # pylint: disable=undefined-variable import scotests.sco_fake_gen as sco_fake_gen # pylint: disable=import-error import sco_moduleimpl G = sco_fake_gen.ScoFake(context.Notes) G.verbose = False file = open("scotests/export_formation1.xml") doc = file.read() file.close() # --- Création de la formation f = sco_formations.formation_import_xml(REQUEST=REQUEST, doc=doc, context=context.Notes) # --- Création des semestres sem1 = G.create_formsemestre( formation_id=f[0], semestre_id=1, date_debut="01/09/2020", date_fin="01/02/2021", ) sem3 = G.create_formsemestre( formation_id=f[0], semestre_id=3, date_debut="01/09/2020", date_fin="01/02/2021", ) sem2 = G.create_formsemestre( formation_id=f[0], semestre_id=2, date_debut="02/02/2021", date_fin="01/06/2021", ) sem4 = G.create_formsemestre( formation_id=f[0], semestre_id=4, date_debut="02/02/2021", date_fin="01/06/2021", ) # --- Implémentation des modules li_module = context.Notes.do_module_list() mods_imp = [] for mod in li_module : if mod["semestre_id"] == 1 : formsemestre_id = sem1["formsemestre_id"] elif mod["semestre_id"] == 2 : formsemestre_id = sem2["formsemestre_id"] elif mod["semestre_id"] == 3 : formsemestre_id = sem3["formsemestre_id"] else : formsemestre_id = sem4["formsemestre_id"] mi = G.create_moduleimpl( module_id=mod["module_id"], formsemestre_id=formsemestre_id, responsable_id="bach", ) mods_imp.append(mi) # --- Création des étudiants etuds=[] for nom, prenom in [ ("Semestre11", "EtudiantNumero1"), ("Semestre12", "EtudiantNumero2"), ("Semestre23", "EtudiantNumero3"), ("Semestre24", "EtudiantNumero4"), ("Semestre35", "EtudiantNumero5"), ("Semestre36", "EtudiantNumero6"), ("Semestre47", "EtudiantNumero7"), ("Semestre48", "EtudiantNumero8") ] : etud = G.create_etud( nom=nom, prenom=prenom, ) etuds.append(etud) # --- Inscription des étudiants for etud in etuds[0:2]: G.inscrit_etudiant(sem1, etud) for etud in etuds[2:4]: G.inscrit_etudiant(sem2, etud) for etud in etuds[4:6]: G.inscrit_etudiant(sem3, etud) for etud in etuds[6:]: G.inscrit_etudiant(sem4, etud) # --- Création d'une évaluation pour chaque UE lim_sem1 = sco_moduleimpl.do_moduleimpl_list(context.Notes, formsemestre_id=sem1["formsemestre_id"], REQUEST=REQUEST) load_lim_sem1 = json.loads(lim_sem1) lim_sem2 = sco_moduleimpl.do_moduleimpl_list(context.Notes, formsemestre_id=sem2["formsemestre_id"], REQUEST=REQUEST) load_lim_sem2 = json.loads(lim_sem2) lim_sem3 = sco_moduleimpl.do_moduleimpl_list(context.Notes, formsemestre_id=sem3["formsemestre_id"], REQUEST=REQUEST) load_lim_sem3 = json.loads(lim_sem3) lim_sem4 = sco_moduleimpl.do_moduleimpl_list(context.Notes, formsemestre_id=sem4["formsemestre_id"], REQUEST=REQUEST) load_lim_sem4 = json.loads(lim_sem4) for moduleimpl_id, jour, description, coefficient in [ (load_lim_sem1[1]["moduleimpl_id"], "02/09/2020", "InterroTestSemestre1", 1.0), (load_lim_sem1[2]["moduleimpl_id"], "03/09/2020", "InterroTestSemestre1", 1.0), (load_lim_sem2[1]["moduleimpl_id"], "03/02/2021", "InterroTestSemestre2", 1.0), (load_lim_sem2[8]["moduleimpl_id"], "04/02/2021", "InterroTestSemestre2", 1.0), (load_lim_sem3[3]["moduleimpl_id"], "02/09/2020", "InterroTestSemestre3", 1.0), (load_lim_sem3[9]["moduleimpl_id"], "03/09/2020", "InterroTestSemestre3", 1.0), (load_lim_sem3[15]["moduleimpl_id"], "04/09/2020", "InterroTestSemestre3", 1.0), (load_lim_sem4[3]["moduleimpl_id"], "03/02/2021", "InterroTestSemestre4", 1.0), (load_lim_sem4[9]["moduleimpl_id"], "04/02/2021", "InterroTestSemestre4", 1.0), (load_lim_sem4[13]["moduleimpl_id"], "05/02/2021", "InterroTestSemestre4", 1.0), ] : e = G.create_evaluation(moduleimpl_id=moduleimpl_id, jour=jour, description=description, coefficient=coefficient) # --- Saisie des notes des étudiants (un élève a 12, un autre a 7 pour chaque semestre) lie1 = context.Notes.do_evaluation_list_in_formsemestre(formsemestre_id=sem1["formsemestre_id"]) lie2 = context.Notes.do_evaluation_list_in_formsemestre(formsemestre_id=sem2["formsemestre_id"]) lie3 = context.Notes.do_evaluation_list_in_formsemestre(formsemestre_id=sem3["formsemestre_id"]) lie4 = context.Notes.do_evaluation_list_in_formsemestre(formsemestre_id=sem4["formsemestre_id"]) for eval in lie1 : for etud in etuds[:2] : if etud == etuds[0] : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=12.0) else : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=7.0) for eval in lie2 : for etud in etuds[2:4] : if etud == etuds[2] : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=12.0) else : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=7.0) for eval in lie3 : for etud in etuds[4:6] : if etud == etuds[4] : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=12.0) else : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=7.0) for eval in lie4 : for etud in etuds[6:] : if etud == etuds[6] : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=12.0) else : nb_changed, nb_suppress, existing_decisions = G.create_note(evaluation=eval, etud=etud, note=7.0)