diff --git a/python/export.py b/python/export.py index 1a149a2..3115acc 100644 --- a/python/export.py +++ b/python/export.py @@ -116,15 +116,23 @@ print(f"{nbre_ressources} ressources") # Post traitement des ressources => gestion des heures for r in RESSOURCES: # Nettoie le champ heures_encadrees - # print(r.nom) if r.heures_encadrees: r.heures_encadrees = nettoie_heure(r.heures_encadrees) if r.tp: r.tp = nettoie_heure(r.tp) - # print(r.heures_encadrees, r.tp) + # Nettoie les codes + if r.code: + r.code = nettoie_code(r.code) -# Calcul somme des heures +# Bilan des heures & Calcul somme des heures +ligne = "{:20s} | {:35s} | {:10s} | {:10s} |" +trait = "-"*len(ligne.format("", "", "", "")) +print(trait, ligne.format("Code", "Ressource", "CM/TD", "TP"), trait, sep="\n") +for r in RESSOURCES: + print(ligne.format(r.code if r.code else "MANQUANT", + r.nom[:30] + ("..." if len(r.nom) > 30 else "") , + str(r.heures_encadrees) if r.heures_encadrees else "MANQUANT", + str(r.tp) if r.tp else "MANQUANT")) heures_formation_total = sum([r.heures_encadrees for r in RESSOURCES if r.heures_encadrees != None]) -print("Heures de formation totales renseignées :", heures_formation_total) heures_tp_total = sum([r.tp for r in RESSOURCES if r.tp != None]) -print("Heures de TP renseignées :", heures_tp_total) +print(trait, ligne.format("", "Total", str(heures_formation_total), str(heures_tp_total)), trait, sep="\n") diff --git a/python/ressource.py b/python/ressource.py index 9f35a27..3b960fd 100644 --- a/python/ressource.py +++ b/python/ressource.py @@ -1,5 +1,7 @@ import string import logging +import re + __LOGGER = logging.getLogger(__name__) class Ressource(): @@ -33,4 +35,13 @@ def nettoie_heure(champ): heure = champs[0].split("h")[0] return int(heure) +def nettoie_code(champ): + """Recherche les codes ressources de la forme RXXX dans champ""" + codes = re.findall(r"(R[0-9][0-9][0-9])", champ) + if len(codes) > 1: + __LOGGER.warning("plusieurs codes trouvés :(") + elif len(codes) == 0: + __LOGGER.warning("code manquant") + else: + return codes[0]