diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py index 3496a1f20..24f941be6 100644 --- a/app/comp/moy_mod.py +++ b/app/comp/moy_mod.py @@ -73,6 +73,11 @@ def check_moduleimpl_conformity( 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. """ + 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 check = all( (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_ues = evals_poids_df.shape[1] 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: evals_coefs = ( np.array(