diff --git a/app/scodoc/notes_table.py b/app/scodoc/notes_table.py index fb18d050d..e3d6e4193 100644 --- a/app/scodoc/notes_table.py +++ b/app/scodoc/notes_table.py @@ -630,7 +630,8 @@ class NotesTable(object): matiere_sum_notes += val * coef matiere_sum_coefs += coef matiere_id_last = matiere_id - except: + except: # val == "NI" "NA" + assert val == "NI" or val == "NA" nb_missing = nb_missing + 1 coefs.append(0) coefs_mask.append(0) @@ -728,9 +729,7 @@ class NotesTable(object): Prend toujours en compte les UE capitalisées. """ - # log('comp_etud_moy_gen(etudid=%s)' % etudid) - - # Si l'étudiant a Demissionné ou est DEFaillant, on n'enregistre pas ses moyennes + # Si l'étudiant a Démissionné ou est DEFaillant, on n'enregistre pas ses moyennes block_computation = ( self.inscrdict[etudid]["etat"] == "D" or self.inscrdict[etudid]["etat"] == DEF diff --git a/app/scodoc/sco_compute_moy.py b/app/scodoc/sco_compute_moy.py index 4d46f065c..3e5059012 100644 --- a/app/scodoc/sco_compute_moy.py +++ b/app/scodoc/sco_compute_moy.py @@ -160,7 +160,7 @@ def compute_user_formula( # log('expression : %s\nvariables=%s\n' % (formula, variables)) # debug user_moy = sco_formulas.eval_user_expression(formula, variables) # log('user_moy=%s' % user_moy) - if user_moy != "NA0" and user_moy != "NA": + if user_moy != "NA": user_moy = float(user_moy) if (user_moy > 20) or (user_moy < 0): etud = sco_etud.get_etud_info(etudid=etudid, filled=True)[0] @@ -295,15 +295,17 @@ def compute_moduleimpl_moyennes(nt, modimpl): # il manque une note ! (si publish_incomplete, cela peut arriver, on ignore) if e["coefficient"] > 0 and not e["publish_incomplete"]: nb_missing += 1 + # ne devrait pas arriver ? + log("\nXXX SCM298\n") if nb_missing == 0 and sum_coefs > 0: if sum_coefs > 0: R[etudid] = sum_notes / sum_coefs moy_valid = True else: - R[etudid] = "na" + R[etudid] = "NA" moy_valid = False else: - R[etudid] = "NA%d" % nb_missing + R[etudid] = "NA" moy_valid = False if user_expr: @@ -361,7 +363,7 @@ def compute_moduleimpl_moyennes(nt, modimpl): if eval_rattr["evaluation_type"] == EVALUATION_RATTRAPAGE: # rattrapage classique: prend la meilleure note entre moyenne # module et note eval rattrapage - if (R[etudid] == "NA0") or (note_sur_20 > R[etudid]): + if (R[etudid] == "NA") or (note_sur_20 > R[etudid]): # log('note_sur_20=%s' % note_sur_20) R[etudid] = note_sur_20 elif eval_rattr["evaluation_type"] == EVALUATION_SESSION2: diff --git a/app/scodoc/sco_recapcomplet.py b/app/scodoc/sco_recapcomplet.py index 06f7b95eb..325aec530 100644 --- a/app/scodoc/sco_recapcomplet.py +++ b/app/scodoc/sco_recapcomplet.py @@ -669,11 +669,11 @@ def make_formsemestre_recapcomplet( else: cells = '