Fix: bug check conformité si pas de poids

This commit is contained in:
Emmanuel Viennet 2021-12-13 19:04:35 +01:00
parent 79c4b33bee
commit 44237c648b

View File

@ -73,6 +73,11 @@ def check_moduleimpl_conformity(
Un module est dit *conforme* si et seulement si la somme des poids de ses Un module est dit *conforme* si et seulement si la somme des poids de ses
évaluations vers une UE de coefficient non nul est non nulle. évaluations vers une UE de coefficient non nul est non nulle.
""" """
nb_evals, nb_ues = evals_poids.shape
if nb_evals == 0:
return True # modules vides conformes
if nb_ues == 0:
return False # situation absurde (pas d'UE)
module_evals_poids = evals_poids.transpose().sum(axis=1).to_numpy() != 0 module_evals_poids = evals_poids.transpose().sum(axis=1).to_numpy() != 0
check = all( check = all(
(modules_coefficients[moduleimpl.module.id].to_numpy() != 0) (modules_coefficients[moduleimpl.module.id].to_numpy() != 0)
@ -177,6 +182,8 @@ def compute_module_moy(
nb_etuds, nb_evals = evals_notes_df.shape nb_etuds, nb_evals = evals_notes_df.shape
nb_ues = evals_poids_df.shape[1] nb_ues = evals_poids_df.shape[1]
assert evals_poids_df.shape[0] == nb_evals # compat notes/poids assert evals_poids_df.shape[0] == nb_evals # compat notes/poids
if nb_etuds == 0:
return pd.DataFrame(index=[], columns=evals_poids_df.columns)
# Coefficients des évaluations, met à zéro ceux des évals incomplètes: # Coefficients des évaluations, met à zéro ceux des évals incomplètes:
evals_coefs = ( evals_coefs = (
np.array( np.array(