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:
|
for r in liste_ressources:
|
||||||
# Nettoie le champ heures_encadrees
|
# Nettoie le champ heures_encadrees
|
||||||
if r.heures_encadrees:
|
if r.heures_encadrees:
|
||||||
r.heures_encadrees = nettoie_heure(r.heures_encadrees)
|
volumes = nettoie_heure(r.heures_encadrees)
|
||||||
if r.tp:
|
if r.tp:
|
||||||
r.tp = nettoie_heure(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
|
# Nettoie les codes
|
||||||
if r.code:
|
if r.code:
|
||||||
@ -159,6 +169,8 @@ for r in liste_ressources:
|
|||||||
r.semestre = "S2"
|
r.semestre = "S2"
|
||||||
# Remet en forme le titre
|
# Remet en forme le titre
|
||||||
if r.code:
|
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]
|
r.nom = DATA_RESSOURCES[r.semestre][r.code]
|
||||||
|
|
||||||
# Remet en forme les ACs
|
# Remet en forme les ACs
|
||||||
@ -187,7 +199,7 @@ trait = "-"*len(ligne.format("", "", "", ""))
|
|||||||
for sem in ressources: # parcours des semestres
|
for sem in ressources: # parcours des semestres
|
||||||
ressem = ressources[sem] # les ressources du semestre
|
ressem = ressources[sem] # les ressources du semestre
|
||||||
print(f"Semestre {sem}")
|
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:
|
for r in ressem:
|
||||||
print(ligne.format(r.code if r.code else "MANQUANT",
|
print(ligne.format(r.code if r.code else "MANQUANT",
|
||||||
# r.nom[:30] + ("..." if len(r.nom) > 30 else "") ,
|
# r.nom[:30] + ("..." if len(r.nom) > 30 else "") ,
|
||||||
|
@ -9,7 +9,7 @@ S1:
|
|||||||
R108: "Bases des systèmes d'exploitation"
|
R108: "Bases des systèmes d'exploitation"
|
||||||
R109: "Introduction aux technologies Web"
|
R109: "Introduction aux technologies Web"
|
||||||
R110: "Anglais de communication et initiation au vocabulaire technique"
|
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é"
|
R112: "PPP: Connaître son champ d'activité"
|
||||||
R113: "Mathématiques du signal"
|
R113: "Mathématiques du signal"
|
||||||
R114: "Mathématiques des transmissions"
|
R114: "Mathématiques des transmissions"
|
||||||
@ -22,7 +22,7 @@ S2:
|
|||||||
R205: "Signaux et Systèmes pour les transmissions"
|
R205: "Signaux et Systèmes pour les transmissions"
|
||||||
R206: "Numérisation de l'information"
|
R206: "Numérisation de l'information"
|
||||||
R207: "Sources de données"
|
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"
|
R209: "Initiation au développement Web"
|
||||||
R210: "Développement de l'anglais technique"
|
R210: "Développement de l'anglais technique"
|
||||||
R211: "Expression-Culture-Communication Professionnelles 2"
|
R211: "Expression-Culture-Communication Professionnelles 2"
|
||||||
|
@ -37,13 +37,18 @@ class Ressource():
|
|||||||
|
|
||||||
def nettoie_heure(champ):
|
def nettoie_heure(champ):
|
||||||
"""Nettoie le champ (horaire) (de la forme 46h ou 33...) pour n'en extraire que la valeur numérique"""
|
"""Nettoie le champ (horaire) (de la forme 46h ou 33...) pour n'en extraire que la valeur numérique"""
|
||||||
temp = champ.rstrip().lower()
|
try: # champ contenant uniquement un nbre d'heure
|
||||||
champs = temp.split(" ")
|
volumes = int(champ)
|
||||||
if champs[0][0] not in string.digits:
|
return volumes
|
||||||
__LOGGER.warning("champ heure non analysable/analyse")
|
except:
|
||||||
else:
|
volumes = re.findall("(\d{2}\D|\d{1}\D)", champ)
|
||||||
heure = champs[0].split("h")[0]
|
if len(volumes) == 1:
|
||||||
return int(heure)
|
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):
|
def nettoie_code(champ):
|
||||||
"""Recherche les codes ressources de la forme RXXX dans champ"""
|
"""Recherche les codes ressources de la forme RXXX dans champ"""
|
||||||
|
Loading…
Reference in New Issue
Block a user