Utilise NA pour les notes manquants (et plus NA0, ...)

This commit is contained in:
IDK 2021-10-19 15:52:02 +02:00
parent e249f45ce9
commit 3878d68b38
5 changed files with 14 additions and 13 deletions

View File

@ -630,7 +630,8 @@ class NotesTable(object):
matiere_sum_notes += val * coef matiere_sum_notes += val * coef
matiere_sum_coefs += coef matiere_sum_coefs += coef
matiere_id_last = matiere_id matiere_id_last = matiere_id
except: except: # val == "NI" "NA"
assert val == "NI" or val == "NA"
nb_missing = nb_missing + 1 nb_missing = nb_missing + 1
coefs.append(0) coefs.append(0)
coefs_mask.append(0) coefs_mask.append(0)
@ -728,9 +729,7 @@ class NotesTable(object):
Prend toujours en compte les UE capitalisées. Prend toujours en compte les UE capitalisées.
""" """
# log('comp_etud_moy_gen(etudid=%s)' % etudid) # Si l'étudiant a Démissionné ou est DEFaillant, on n'enregistre pas ses moyennes
# Si l'étudiant a Demissionné ou est DEFaillant, on n'enregistre pas ses moyennes
block_computation = ( block_computation = (
self.inscrdict[etudid]["etat"] == "D" self.inscrdict[etudid]["etat"] == "D"
or self.inscrdict[etudid]["etat"] == DEF or self.inscrdict[etudid]["etat"] == DEF

View File

@ -160,7 +160,7 @@ def compute_user_formula(
# log('expression : %s\nvariables=%s\n' % (formula, variables)) # debug # log('expression : %s\nvariables=%s\n' % (formula, variables)) # debug
user_moy = sco_formulas.eval_user_expression(formula, variables) user_moy = sco_formulas.eval_user_expression(formula, variables)
# log('user_moy=%s' % user_moy) # log('user_moy=%s' % user_moy)
if user_moy != "NA0" and user_moy != "NA": if user_moy != "NA":
user_moy = float(user_moy) user_moy = float(user_moy)
if (user_moy > 20) or (user_moy < 0): if (user_moy > 20) or (user_moy < 0):
etud = sco_etud.get_etud_info(etudid=etudid, filled=True)[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) # il manque une note ! (si publish_incomplete, cela peut arriver, on ignore)
if e["coefficient"] > 0 and not e["publish_incomplete"]: if e["coefficient"] > 0 and not e["publish_incomplete"]:
nb_missing += 1 nb_missing += 1
# ne devrait pas arriver ?
log("\nXXX SCM298\n")
if nb_missing == 0 and sum_coefs > 0: if nb_missing == 0 and sum_coefs > 0:
if sum_coefs > 0: if sum_coefs > 0:
R[etudid] = sum_notes / sum_coefs R[etudid] = sum_notes / sum_coefs
moy_valid = True moy_valid = True
else: else:
R[etudid] = "na" R[etudid] = "NA"
moy_valid = False moy_valid = False
else: else:
R[etudid] = "NA%d" % nb_missing R[etudid] = "NA"
moy_valid = False moy_valid = False
if user_expr: if user_expr:
@ -361,7 +363,7 @@ def compute_moduleimpl_moyennes(nt, modimpl):
if eval_rattr["evaluation_type"] == EVALUATION_RATTRAPAGE: if eval_rattr["evaluation_type"] == EVALUATION_RATTRAPAGE:
# rattrapage classique: prend la meilleure note entre moyenne # rattrapage classique: prend la meilleure note entre moyenne
# module et note eval rattrapage # 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) # log('note_sur_20=%s' % note_sur_20)
R[etudid] = note_sur_20 R[etudid] = note_sur_20
elif eval_rattr["evaluation_type"] == EVALUATION_SESSION2: elif eval_rattr["evaluation_type"] == EVALUATION_SESSION2:

View File

@ -669,11 +669,11 @@ def make_formsemestre_recapcomplet(
else: else:
cells = '<tr class="recap_row_odd" id="etudid%s">' % etudid cells = '<tr class="recap_row_odd" id="etudid%s">' % etudid
ir += 1 ir += 1
# XXX nsn = [ x.replace('NA0', '-') for x in l[:-2] ] # XXX nsn = [ x.replace('NA', '-') for x in l[:-2] ]
# notes sans le NA0: # notes sans le NA:
nsn = l[:-2] # copy nsn = l[:-2] # copy
for i in range(len(nsn)): for i in range(len(nsn)):
if nsn[i] == "NA0": if nsn[i] == "NA":
nsn[i] = "-" nsn[i] = "-"
cells += '<td class="recap_col">%s</td>' % nsn[0] # rang cells += '<td class="recap_col">%s</td>' % nsn[0] # rang
cells += '<td class="recap_col">%s</td>' % el # nom etud (lien) cells += '<td class="recap_col">%s</td>' % el # nom etud (lien)

View File

@ -280,7 +280,7 @@ def get_etud_tagged_modules(etudid, tagname):
R.append( R.append(
{ {
"sem": sem, "sem": sem,
"moy": moy, # valeur réelle, ou NI (non inscrit au module ou NA0 (pas de note) "moy": moy, # valeur réelle, ou NI (non inscrit au module ou NA (pas de note)
"moduleimpl": modimpl, "moduleimpl": modimpl,
"tags": tags, "tags": tags,
} }

View File

@ -132,7 +132,7 @@ def fmt_note(val, note_max=None, keep_numeric=False):
s = "0" * (5 - len(s)) + s # padding: 0 à gauche pour longueur 5: "12.34" s = "0" * (5 - len(s)) + s # padding: 0 à gauche pour longueur 5: "12.34"
return s return s
else: else:
return val.replace("NA0", "-") # notes sans le NA0 return val.replace("NA", "-")
def fmt_coef(val): def fmt_coef(val):