Update opolka/ScoDoc from ScoDoc/ScoDoc #2

Merged
opolka merged 1272 commits from ScoDoc/ScoDoc:master into master 2024-05-27 09:11:04 +02:00
Showing only changes of commit 8c909062e7 - Show all commits

View File

@ -1536,60 +1536,61 @@ class BonusIUTV(BonusSportAdditif):
# c'est le bonus par défaut: aucune méthode à surcharger
class BonusMastersUSPNIG(BonusSportAdditif):
"""Calcul bonus modules optionnels (sport, culture), règle Masters de l'Institut Galilée (USPN)
# Finalement inutile: un bonus direct est mieux adapté à leurs besoins.
# # class BonusMastersUSPNIG(BonusSportAdditif):
# """Calcul bonus modules optionnels (sport, culture), règle Masters de l'Institut Galilée (USPN)
Les étudiants peuvent suivre des enseignements optionnels
de l'USPN (sports, musique, deuxième langue, culture, etc) dans une
UE libre. Les points au-dessus de 10 sur 20 obtenus dans cette UE
libre sont ajoutés au total des points obtenus pour les UE obligatoires
du semestre concerné.
"""
# Les étudiants peuvent suivre des enseignements optionnels
# de l'USPN (sports, musique, deuxième langue, culture, etc) dans une
# UE libre. Les points au-dessus de 10 sur 20 obtenus dans cette UE
# libre sont ajoutés au total des points obtenus pour les UE obligatoires
# du semestre concerné.
# """
name = "bonus_masters__uspn_ig"
displayed_name = "Masters de l'Institut Galilée (USPN)"
proportion_point = 1.0
seuil_moy_gen = 10.0
# name = "bonus_masters__uspn_ig"
# displayed_name = "Masters de l'Institut Galilée (USPN)"
# proportion_point = 1.0
# seuil_moy_gen = 10.0
def __init__(
self,
formsemestre: "FormSemestre",
sem_modimpl_moys: np.array,
ues: list,
modimpl_inscr_df: pd.DataFrame,
modimpl_coefs: np.array,
etud_moy_gen,
etud_moy_ue,
):
# Pour ce bonus, il nous faut la somme des coefs des modules non bonus
# du formsemestre (et non auxquels les étudiants sont inscrits !)
self.sum_coefs = sum(
[
m.module.coefficient
for m in formsemestre.modimpls_sorted
if (m.module.module_type == ModuleType.STANDARD)
and (m.module.ue.type == UE_STANDARD)
]
)
super().__init__(
formsemestre,
sem_modimpl_moys,
ues,
modimpl_inscr_df,
modimpl_coefs,
etud_moy_gen,
etud_moy_ue,
)
# Bonus sur la moyenne générale seulement
# On a dans bonus_moy_arr le bonus additif classique
# Sa valeur sera appliquée comme moy_gen += bonus_moy_gen
# or ici on veut
# moy_gen = (somme des notes + bonus_moy_arr) / somme des coefs
# moy_gen += bonus_moy_arr / somme des coefs
# def __init__(
# self,
# formsemestre: "FormSemestre",
# sem_modimpl_moys: np.array,
# ues: list,
# modimpl_inscr_df: pd.DataFrame,
# modimpl_coefs: np.array,
# etud_moy_gen,
# etud_moy_ue,
# ):
# # Pour ce bonus, il nous faut la somme des coefs des modules non bonus
# # du formsemestre (et non auxquels les étudiants sont inscrits !)
# self.sum_coefs = sum(
# [
# m.module.coefficient
# for m in formsemestre.modimpls_sorted
# if (m.module.module_type == ModuleType.STANDARD)
# and (m.module.ue.type == UE_STANDARD)
# ]
# )
# super().__init__(
# formsemestre,
# sem_modimpl_moys,
# ues,
# modimpl_inscr_df,
# modimpl_coefs,
# etud_moy_gen,
# etud_moy_ue,
# )
# # Bonus sur la moyenne générale seulement
# # On a dans bonus_moy_arr le bonus additif classique
# # Sa valeur sera appliquée comme moy_gen += bonus_moy_gen
# # or ici on veut
# # moy_gen = (somme des notes + bonus_moy_arr) / somme des coefs
# # moy_gen += bonus_moy_arr / somme des coefs
self.bonus_moy_gen = (
None if self.bonus_moy_gen is None else self.bonus_moy_gen / self.sum_coefs
)
# self.bonus_moy_gen = (
# None if self.bonus_moy_gen is None else self.bonus_moy_gen / self.sum_coefs
# )
def get_bonus_class_dict(start=BonusSport, d=None):