Matrice ACs vs ressources
This commit is contained in:
parent
83dfc1cb49
commit
5ed495fcf5
@ -170,9 +170,11 @@ for r in liste_ressources:
|
||||
# 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])
|
||||
__LOGGER.warning(f"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
|
||||
acs = r.apprentissages
|
||||
if len(acs) != 3:
|
||||
@ -223,12 +225,25 @@ for sem in ressources:
|
||||
if len(ressem) != nbre_ressources_semestre:
|
||||
__LOGGER.warning(f"Pb => il manque des ressources au {sem}")
|
||||
|
||||
matrices[sem] = [[False]*nbre_ressources_semestre]*nbre_acs
|
||||
matrices[sem] = [ [False]*nbre_ressources_semestre for i in range(nbre_acs)]
|
||||
|
||||
for (i, r) in enumerate(ressem): # pour chaque ressource
|
||||
for comp in r.apprentissages: # pour chaque comp
|
||||
for comp in range(len(r.apprentissages)): # pour chaque comp
|
||||
|
||||
for (j, ac) in enumerate(les_codes_acs): # pour chaque ac
|
||||
if ac in r.apprentissages[comp]: # si l'ac est prévue dans la ressource
|
||||
matrices[r.semestre][j][i] = True
|
||||
|
||||
print(matrices["S1"])
|
||||
print("Matrice du semestre " + sem)
|
||||
ligne = "{:20s} | " + "{:4s} | "*nbre_ressources_semestre
|
||||
valeurs = ("" for i in range(nbre_ressources_semestre+1))
|
||||
trait = "-"*len(ligne.format(*valeurs))
|
||||
# print(matrices["S1"])
|
||||
valeurs = [""] + [r.code if r.code else "????" for r in ressem] + [""]*(nbre_ressources_semestre-len(ressem))
|
||||
valeurs = tuple(valeurs)
|
||||
print(ligne.format(*valeurs), trait, sep="\n")
|
||||
for (j, ac) in enumerate(les_codes_acs):
|
||||
valeurs = [ac] + [("X" if matrices[sem][j][i] == True else "") for i in range(nbre_ressources_semestre)]
|
||||
valeurs = tuple(valeurs)
|
||||
print(ligne.format(*valeurs))
|
||||
|
||||
|
@ -16,7 +16,7 @@ S1:
|
||||
R115: "Gestion de projet"
|
||||
S2:
|
||||
R201: "Technologie de l'Internet"
|
||||
R202: "Administration système"
|
||||
R202: "Administration système et fondamentaux de la virtualisation"
|
||||
R203: "Bases des services réseaux"
|
||||
R204: "Initiation à la téléphonie d'entreprise"
|
||||
R205: "Signaux et Systèmes pour les transmissions"
|
||||
@ -25,7 +25,7 @@ S2:
|
||||
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"
|
||||
R211: "Expression-Culture-Communication Professionnelles (ECC2)"
|
||||
R212: "PPP: Formalisation du projet"
|
||||
R213: "Mathématiques des systèmes numériques"
|
||||
R214: "Analyse des signaux"
|
||||
|
@ -14,6 +14,7 @@ with open("pn/acs.yml", 'r', encoding="utf8") as fid:
|
||||
DATA_ACS = yaml.load(fid.read(), Loader=yaml.Loader)
|
||||
|
||||
class Ressource():
|
||||
"""Classe modélisant les ressources"""
|
||||
def __init__(self, nom, brute):
|
||||
self.nom = nom
|
||||
self.brute = brute # les données brutes de la ressource
|
||||
@ -36,7 +37,9 @@ 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"""
|
||||
"""Nettoie le champ (horaire) (de la forme 46h ou 33...) pour en extraire la valeur numérique :
|
||||
le champ peut contenir 2 volumes (heures formation puis heures tp), auquel cas les 2 valeurs sont renvoyées
|
||||
dans un tuple"""
|
||||
try: # champ contenant uniquement un nbre d'heure
|
||||
volumes = int(champ)
|
||||
return volumes
|
||||
@ -47,8 +50,8 @@ def nettoie_heure(champ):
|
||||
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")
|
||||
#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