diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py index 7ea795f1..b37dac49 100644 --- a/app/comp/moy_mod.py +++ b/app/comp/moy_mod.py @@ -433,7 +433,9 @@ def moduleimpl_is_conforme( 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. - Argument: evals_poids: DataFrame, colonnes: UEs, Lignes: EVALs + Arguments: + evals_poids: DataFrame, colonnes: UEs, Lignes: EVALs + modules_coefficients: DataFrame, cols module_id, lignes UEs NB: les UEs dans evals_poids sont sans le bonus sport """ nb_evals, nb_ues = evals_poids.shape @@ -445,12 +447,8 @@ def moduleimpl_is_conforme( # il arrive (#bug) que le cache ne soit pas à jour... sco_cache.invalidate_formsemestre() raise ScoBugCatcher("moduleimpl_is_conforme: nb ue incoherent") - module_evals_poids = evals_poids.transpose().sum(axis=1).to_numpy() != 0 - check = all( - (modules_coefficients[moduleimpl.module_id].to_numpy() != 0) - == module_evals_poids - ) - return check + module_evals_poids = evals_poids.transpose().sum(axis=1) != 0 + return all((modules_coefficients[moduleimpl.module_id] != 0).eq(module_evals_poids)) class ModuleImplResultsClassic(ModuleImplResults):