From 0f902457f6de96e12c84fe0ecf9315d9b5808a5b Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 7 Sep 2022 00:09:15 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20#491:=20v=C3=A9rification=20conformit?= =?UTF-8?q?=C3=A9=20poids=20modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/comp/moy_mod.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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):