forked from ScoDoc/ScoDoc
BUT: dispenses d'UE capitalisées. Voir #537.
This commit is contained in:
parent
3c227562ff
commit
95b7f813ff
@ -212,6 +212,31 @@ def notes_sem_load_cube(formsemestre: FormSemestre) -> tuple:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def load_dispense_ues(
|
||||||
|
formsemestre: FormSemestre, etudids: pd.Index, ues: list[UniteEns]
|
||||||
|
) -> set[tuple[int, int]]:
|
||||||
|
"""Construit l'ensemble des
|
||||||
|
etudids = modimpl_inscr_df.index, # les etudids
|
||||||
|
ue_ids : modimpl_coefs_df.index, # les UE du formsemestre sans les UE bonus sport
|
||||||
|
|
||||||
|
Résultat: set de (etudid, ue_id).
|
||||||
|
"""
|
||||||
|
dispense_ues = set()
|
||||||
|
ue_sem_by_code = {ue.ue_code: ue for ue in ues}
|
||||||
|
# Prend toutes les dispenses obtenues par des étudiants de ce formsemestre,
|
||||||
|
# puis filtre sur inscrits et code d'UE UE
|
||||||
|
for dispense_ue in DispenseUE.query.join(
|
||||||
|
Identite, FormSemestreInscription
|
||||||
|
).filter_by(formsemestre_id=formsemestre.id):
|
||||||
|
if dispense_ue.etudid in etudids:
|
||||||
|
# UE dans le semestre avec même code ?
|
||||||
|
ue = ue_sem_by_code.get(dispense_ue.ue.ue_code)
|
||||||
|
if ue is not None:
|
||||||
|
dispense_ues.add((dispense_ue.etudid, ue.id))
|
||||||
|
|
||||||
|
return dispense_ues
|
||||||
|
|
||||||
|
|
||||||
def compute_ue_moys_apc(
|
def compute_ue_moys_apc(
|
||||||
sem_cube: np.array,
|
sem_cube: np.array,
|
||||||
etuds: list,
|
etuds: list,
|
||||||
|
Loading…
Reference in New Issue
Block a user