Fix #491: vérification conformité poids modules

This commit is contained in:
Emmanuel Viennet 2022-09-07 00:09:15 +02:00
parent 7fe2d605c3
commit 0f902457f6
1 changed files with 5 additions and 7 deletions

View File

@ -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):