forked from viennet/Referentiels
Améliore la détection des heures (de formation encadrées et de TP)
This commit is contained in:
parent
9d137e1d66
commit
83dfc1cb49
@ -132,9 +132,19 @@ ressources = {"S1" : [], "S2": []}
|
||||
for r in liste_ressources:
|
||||
# Nettoie le champ heures_encadrees
|
||||
if r.heures_encadrees:
|
||||
r.heures_encadrees = nettoie_heure(r.heures_encadrees)
|
||||
volumes = nettoie_heure(r.heures_encadrees)
|
||||
if r.tp:
|
||||
r.tp = nettoie_heure(r.tp)
|
||||
if isinstance(volumes, int):
|
||||
r.heures_encadrees = volumes
|
||||
elif isinstance(volumes, tuple):
|
||||
r.heures_encadrees = volumes[0]
|
||||
if not r.tp:
|
||||
r.tp = volumes[1]
|
||||
elif r.tp != volumes[1]:
|
||||
__LOGGER.warning(r"Dans {r.nom}, pb dans les heures tp/td")
|
||||
else:
|
||||
r.heures_encadrees = None
|
||||
|
||||
# Nettoie les codes
|
||||
if r.code:
|
||||
@ -159,6 +169,8 @@ for r in liste_ressources:
|
||||
r.semestre = "S2"
|
||||
# Remet en forme le titre
|
||||
if r.code:
|
||||
if supprime_accent_espace(r.nom) != supprime_accent_espace(DATA_RESSOURCES[r.semestre][r.code]):
|
||||
__LOGGER.warning(r"Dans {r.nom}, pb dans le nom de la ressource : devient " + DATA_RESSOURCES[r.semestre][r.code])
|
||||
r.nom = DATA_RESSOURCES[r.semestre][r.code]
|
||||
|
||||
# Remet en forme les ACs
|
||||
@ -187,7 +199,7 @@ trait = "-"*len(ligne.format("", "", "", ""))
|
||||
for sem in ressources: # parcours des semestres
|
||||
ressem = ressources[sem] # les ressources du semestre
|
||||
print(f"Semestre {sem}")
|
||||
print(trait, ligne.format("Code", "Ressource", "CM/TD", "TP"), trait, sep="\n")
|
||||
print(trait, ligne.format("Code", "Ressource", "Form.", "dont TP"), trait, sep="\n")
|
||||
for r in ressem:
|
||||
print(ligne.format(r.code if r.code else "MANQUANT",
|
||||
# r.nom[:30] + ("..." if len(r.nom) > 30 else "") ,
|
||||
|
@ -9,7 +9,7 @@ S1:
|
||||
R108: "Bases des systèmes d'exploitation"
|
||||
R109: "Introduction aux technologies Web"
|
||||
R110: "Anglais de communication et initiation au vocabulaire technique"
|
||||
R111: "Expression-Culture-Communication Professionnelles 1"
|
||||
R111: "Expression-Culture-Communication Professionnelles (ECC1)"
|
||||
R112: "PPP: Connaître son champ d'activité"
|
||||
R113: "Mathématiques du signal"
|
||||
R114: "Mathématiques des transmissions"
|
||||
@ -22,7 +22,7 @@ S2:
|
||||
R205: "Signaux et Systèmes pour les transmissions"
|
||||
R206: "Numérisation de l'information"
|
||||
R207: "Sources de données"
|
||||
R208: "Traitement de données en programmation"
|
||||
R208: "Analyse et traitement de données structurées"
|
||||
R209: "Initiation au développement Web"
|
||||
R210: "Développement de l'anglais technique"
|
||||
R211: "Expression-Culture-Communication Professionnelles 2"
|
||||
|
@ -37,13 +37,18 @@ class Ressource():
|
||||
|
||||
def nettoie_heure(champ):
|
||||
"""Nettoie le champ (horaire) (de la forme 46h ou 33...) pour n'en extraire que la valeur numérique"""
|
||||
temp = champ.rstrip().lower()
|
||||
champs = temp.split(" ")
|
||||
if champs[0][0] not in string.digits:
|
||||
__LOGGER.warning("champ heure non analysable/analyse")
|
||||
else:
|
||||
heure = champs[0].split("h")[0]
|
||||
return int(heure)
|
||||
try: # champ contenant uniquement un nbre d'heure
|
||||
volumes = int(champ)
|
||||
return volumes
|
||||
except:
|
||||
volumes = re.findall("(\d{2}\D|\d{1}\D)", champ)
|
||||
if len(volumes) == 1:
|
||||
return int(volumes[0][:-1])
|
||||
elif len(volumes) == 2:
|
||||
volumes = sorted(volumes, reverse=True)
|
||||
return (int(volumes[0][:-1]), int(volumes[1][:-1]))
|
||||
else:
|
||||
__LOGGER.warning("Heures non détectées")
|
||||
|
||||
def nettoie_code(champ):
|
||||
"""Recherche les codes ressources de la forme RXXX dans champ"""
|
||||
|
Loading…
Reference in New Issue
Block a user