Fix: bul. classique JSON format long_mat avec UE cap.

This commit is contained in:
Emmanuel Viennet 2022-12-02 15:57:25 +01:00 committed by iziram
parent 42b03dbdfa
commit c9b4058717

View File

@ -171,7 +171,7 @@ def formsemestre_bulletinetud_published_dict(
pid = partition["partition_id"] pid = partition["partition_id"]
partitions_etud_groups[pid] = sco_groups.get_etud_groups_in_partition(pid) partitions_etud_groups[pid] = sco_groups.get_etud_groups_in_partition(pid)
ues = nt.get_ues_stat_dict() ues_stat = nt.get_ues_stat_dict()
modimpls = nt.get_modimpls_dict() modimpls = nt.get_modimpls_dict()
nbetuds = len(nt.etud_moy_gen_ranks) nbetuds = len(nt.etud_moy_gen_ranks)
moy_gen = scu.fmt_note(nt.get_etud_moy_gen(etudid)) moy_gen = scu.fmt_note(nt.get_etud_moy_gen(etudid))
@ -214,28 +214,28 @@ def formsemestre_bulletinetud_published_dict(
# Liste les UE / modules /evals # Liste les UE / modules /evals
d["ue"] = [] d["ue"] = []
d["ue_capitalisee"] = [] d["ue_capitalisee"] = []
for ue in ues: for ue_st in ues_stat:
ue_status = nt.get_etud_ue_status(etudid, ue["ue_id"]) ue_status = nt.get_etud_ue_status(etudid, ue_st["ue_id"])
if ue["ects"] is None: if ue_st["ects"] is None:
ects_txt = "" ects_txt = ""
else: else:
ects_txt = f"{ue['ects']:2.3g}" ects_txt = f"{ue_st['ects']:2.3g}"
rang, effectif = nt.get_etud_ue_rang(ue["ue_id"], etudid) rang, effectif = nt.get_etud_ue_rang(ue_st["ue_id"], etudid)
u = dict( u = dict(
id=ue["ue_id"], id=ue_st["ue_id"],
numero=quote_xml_attr(ue["numero"]), numero=quote_xml_attr(ue_st["numero"]),
acronyme=quote_xml_attr(ue["acronyme"]), acronyme=quote_xml_attr(ue_st["acronyme"]),
titre=quote_xml_attr(ue["titre"]), titre=quote_xml_attr(ue_st["titre"]),
note=dict( note=dict(
value=scu.fmt_note(ue_status["cur_moy_ue"] if ue_status else ""), value=scu.fmt_note(ue_status["cur_moy_ue"] if ue_status else ""),
min=scu.fmt_note(ue["min"]), min=scu.fmt_note(ue_st["min"]),
max=scu.fmt_note(ue["max"]), max=scu.fmt_note(ue_st["max"]),
moy=scu.fmt_note(ue["moy"]), moy=scu.fmt_note(ue_st["moy"]),
), ),
rang=rang, rang=rang,
effectif=effectif, effectif=effectif,
ects=ects_txt, ects=ects_txt,
code_apogee=quote_xml_attr(ue["code_apogee"]), code_apogee=quote_xml_attr(ue_st["code_apogee"]),
) )
d["ue"].append(u) d["ue"].append(u)
@ -243,7 +243,7 @@ def formsemestre_bulletinetud_published_dict(
u["module"] = [] u["module"] = []
# Structure UE/Matière/Module # Structure UE/Matière/Module
# Recodé en 2022 # Recodé en 2022
ue = UniteEns.query.get(ue["ue_id"]) ue = UniteEns.query.get(ue_st["ue_id"])
u["matiere"] = [ u["matiere"] = [
{ {
"matiere_id": mat.id, "matiere_id": mat.id,
@ -269,23 +269,23 @@ def formsemestre_bulletinetud_published_dict(
u["module"] = _list_modimpls( u["module"] = _list_modimpls(
nt, nt,
etudid, etudid,
[mod for mod in modimpls if mod["module"]["ue_id"] == ue["ue_id"]], [mod for mod in modimpls if mod["module"]["ue_id"] == ue.id],
prefs, prefs,
version, version,
) )
# UE capitalisee (listee seulement si meilleure que l'UE courante) # UE capitalisée (listée seulement si meilleure que l'UE courante)
if ue_status["is_capitalized"]: if ue_status["is_capitalized"]:
try: try:
ects_txt = str(int(ue_status["ue"].get("ects", ""))) ects_txt = str(int(ue_status["ue"].get("ects", "")))
except: except ValueError:
ects_txt = "" ects_txt = ""
d["ue_capitalisee"].append( d["ue_capitalisee"].append(
dict( dict(
id=ue["ue_id"], id=ue.id,
numero=quote_xml_attr(ue["numero"]), numero=quote_xml_attr(ue.numero),
acronyme=quote_xml_attr(ue["acronyme"]), acronyme=quote_xml_attr(ue.acronyme),
titre=quote_xml_attr(ue["titre"]), titre=quote_xml_attr(ue.titre),
note=scu.fmt_note(ue_status["moy"]), note=scu.fmt_note(ue_status["moy"]),
coefficient_ue=scu.fmt_note(ue_status["coef_ue"]), coefficient_ue=scu.fmt_note(ue_status["coef_ue"]),
date_capitalisation=ndb.DateDMYtoISO(ue_status["event_date"]), date_capitalisation=ndb.DateDMYtoISO(ue_status["event_date"]),