Ajout option pour désactiver l'édition de classeurs intermédiaires
This commit is contained in:
parent
5827a37a31
commit
dbe7f5d482
|
@ -61,5 +61,10 @@ class ParametrageClasseurPE(FlaskForm):
|
||||||
# default=False,
|
# default=False,
|
||||||
# render_kw={"checked": ""},
|
# render_kw={"checked": ""},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
classeurs_detailles = BooleanField(
|
||||||
|
"Générer des classeurs intermédiaires (pour debuggage)", default=False
|
||||||
|
)
|
||||||
|
|
||||||
submit = SubmitField("Générer les classeurs poursuites d'études")
|
submit = SubmitField("Générer les classeurs poursuites d'études")
|
||||||
cancel = SubmitField("Annuler", render_kw={"formnovalidate": True})
|
cancel = SubmitField("Annuler", render_kw={"formnovalidate": True})
|
||||||
|
|
|
@ -101,6 +101,7 @@ class JuryPE(object):
|
||||||
"moyennes_ues_rcues": True,
|
"moyennes_ues_rcues": True,
|
||||||
"min_max_moy": False,
|
"min_max_moy": False,
|
||||||
"publipostage": False,
|
"publipostage": False,
|
||||||
|
"classeurs_detailles": False,
|
||||||
},
|
},
|
||||||
):
|
):
|
||||||
pe_affichage.pe_start_log()
|
pe_affichage.pe_start_log()
|
||||||
|
@ -221,17 +222,13 @@ class JuryPE(object):
|
||||||
# Crée le semestre_tag et exécute les calculs de moyennes
|
# Crée le semestre_tag et exécute les calculs de moyennes
|
||||||
ressembuttag = pe_ressemtag.ResSemBUTTag(formsemestre, options=self.options)
|
ressembuttag = pe_ressemtag.ResSemBUTTag(formsemestre, options=self.options)
|
||||||
self.ressembuttags[frmsem_id] = ressembuttag
|
self.ressembuttags[frmsem_id] = ressembuttag
|
||||||
# Ajoute les étudiants découverts dans les ressembuttags aux données des étudiants
|
|
||||||
# nbre_etudiants_ajoutes = self.etudiants.add_etudiants(
|
|
||||||
# ressembuttag.etudids_sorted
|
|
||||||
# )
|
|
||||||
# if nbre_etudiants_ajoutes:
|
|
||||||
# pe_affichage.pe_print(
|
|
||||||
# f"--> Ajout de {nbre_etudiants_ajoutes} étudiants aux données du jury"
|
|
||||||
# )
|
|
||||||
|
|
||||||
# Intègre le bilan des semestres taggués au zip final
|
# Intègre le bilan des semestres taggués au zip final
|
||||||
pe_affichage.pe_print(f"2) Bilan", info=True)
|
pe_affichage.pe_print(f"2) Bilan", info=True)
|
||||||
|
if (
|
||||||
|
"classeurs_detailles" in self.options
|
||||||
|
and self.options["classeurs_detailles"]
|
||||||
|
):
|
||||||
output = io.BytesIO()
|
output = io.BytesIO()
|
||||||
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
||||||
output, engine="openpyxl"
|
output, engine="openpyxl"
|
||||||
|
@ -258,6 +255,10 @@ class JuryPE(object):
|
||||||
output.read(),
|
output.read(),
|
||||||
path="details",
|
path="details",
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
pe_affichage.pe_print(
|
||||||
|
"--> Pas d'export excel (option non cochée)", info=True
|
||||||
|
)
|
||||||
|
|
||||||
def _gen_trajectoires(self):
|
def _gen_trajectoires(self):
|
||||||
"""Génère l'ensemble des trajectoires (RCS), qui traduisent les différents
|
"""Génère l'ensemble des trajectoires (RCS), qui traduisent les différents
|
||||||
|
@ -324,6 +325,10 @@ class JuryPE(object):
|
||||||
|
|
||||||
# Intègre le bilan des semestres taggués au zip final
|
# Intègre le bilan des semestres taggués au zip final
|
||||||
pe_affichage.pe_print("2) Bilan", info=True)
|
pe_affichage.pe_print("2) Bilan", info=True)
|
||||||
|
if (
|
||||||
|
"classeurs_detailles" in self.options
|
||||||
|
and self.options["classeurs_detailles"]
|
||||||
|
):
|
||||||
output = io.BytesIO()
|
output = io.BytesIO()
|
||||||
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
||||||
output, engine="openpyxl"
|
output, engine="openpyxl"
|
||||||
|
@ -351,6 +356,8 @@ class JuryPE(object):
|
||||||
output.read(),
|
output.read(),
|
||||||
path="details",
|
path="details",
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
pe_affichage.pe_print("--> Pas d'export Excel (option non cochée)")
|
||||||
|
|
||||||
def _gen_rcsemxs(self):
|
def _gen_rcsemxs(self):
|
||||||
"""Génère les regroupements cohérents de RCFs qu'ont suivi chaque étudiant"""
|
"""Génère les regroupements cohérents de RCFs qu'ont suivi chaque étudiant"""
|
||||||
|
@ -423,6 +430,10 @@ class JuryPE(object):
|
||||||
|
|
||||||
# Intègre le bilan des trajectoires tagguées au zip final
|
# Intègre le bilan des trajectoires tagguées au zip final
|
||||||
pe_affichage.pe_print("2) Bilan", info=True)
|
pe_affichage.pe_print("2) Bilan", info=True)
|
||||||
|
if (
|
||||||
|
"classeurs_detailles" in self.options
|
||||||
|
and self.options["classeurs_detailles"]
|
||||||
|
):
|
||||||
output = io.BytesIO()
|
output = io.BytesIO()
|
||||||
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
||||||
output, engine="openpyxl"
|
output, engine="openpyxl"
|
||||||
|
@ -451,6 +462,8 @@ class JuryPE(object):
|
||||||
output.read(),
|
output.read(),
|
||||||
path="details",
|
path="details",
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
pe_affichage.pe_print("--> Pas d'export Excel (option non cochée)")
|
||||||
|
|
||||||
def _gen_xls_interclasstags(self, zipfile: ZipFile):
|
def _gen_xls_interclasstags(self, zipfile: ZipFile):
|
||||||
"""Génère les interclassements sur la promo de diplômés
|
"""Génère les interclassements sur la promo de diplômés
|
||||||
|
@ -512,6 +525,10 @@ class JuryPE(object):
|
||||||
] = interclass
|
] = interclass
|
||||||
|
|
||||||
# Intègre le bilan des aggrégats (interclassé par promo) au zip final
|
# Intègre le bilan des aggrégats (interclassé par promo) au zip final
|
||||||
|
if (
|
||||||
|
"classeurs_detailles" in self.options
|
||||||
|
and self.options["classeurs_detailles"]
|
||||||
|
):
|
||||||
output = io.BytesIO()
|
output = io.BytesIO()
|
||||||
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
with pd.ExcelWriter( # pylint: disable=abstract-class-instantiated
|
||||||
output, engine="openpyxl"
|
output, engine="openpyxl"
|
||||||
|
@ -531,7 +548,9 @@ class JuryPE(object):
|
||||||
onglets += [onglet]
|
onglets += [onglet]
|
||||||
# écriture dans l'onglet
|
# écriture dans l'onglet
|
||||||
df.to_excel(writer, onglet, index=True, header=True)
|
df.to_excel(writer, onglet, index=True, header=True)
|
||||||
pe_affichage.pe_print(f"=> Export excel de {', '.join(onglets)}", info=True)
|
pe_affichage.pe_print(
|
||||||
|
f"=> Export excel de {', '.join(onglets)}", info=True
|
||||||
|
)
|
||||||
|
|
||||||
output.seek(0)
|
output.seek(0)
|
||||||
|
|
||||||
|
@ -542,6 +561,8 @@ class JuryPE(object):
|
||||||
output.read(),
|
output.read(),
|
||||||
path="details",
|
path="details",
|
||||||
)
|
)
|
||||||
|
else:
|
||||||
|
pe_affichage.pe_print("--> Pas d'export Excel (option non cochée)")
|
||||||
|
|
||||||
def _gen_xls_synthese_jury_par_tag(self, zipfile: ZipFile):
|
def _gen_xls_synthese_jury_par_tag(self, zipfile: ZipFile):
|
||||||
"""Synthèse des éléments du jury PE tag par tag"""
|
"""Synthèse des éléments du jury PE tag par tag"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user