Age | Commit message (Collapse) | Author |
|
La requête actuelle récupère une ligne par groupe/semaine de cours
sans correspondance inter-groupe (TPA22 veut aussi les cours de TDA2,
etc.), ce qui demande un post-traitement quadratique (voire peut-être
pire) pour regrouper les semaines par groupe.
Grace aux liste de PostgreSQL, il est possible de faire une requête
éliminant le besoin de faire un post-traitement en Python.
Cette requête sélectionne tous les groupes ayant la même source, la
même mention, le même semestre et un sous-groupe qui ont les mêmes
premiers caractères. Elle sélectionne ensuite tous les cours
correspondant à ce groupe qui commencent entre l’heure actuelle sur
une période de un mois. Ensuite, les dates sont tronquées au début de
la semaine, triées, puis aggrégée sous forme de liste. Celle-ci est
rajoutée comme entrée dans le groupe sélectionné.
Le résultat peut être directement passé à une template.
Cette requête est plus lente que l’ancienne, mais l’élimination de
l’étape de post-traitement résulte en une accélération du rendu de la
page.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Commencer au premier élément fait planter l’étape de déduction des
éléments des cours si jamais un cours n’a ni nom, ni type.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
La fonction de recherche QSJPS demande à ce que l’heure de début soit
strictement supérieure à l’heure de fin. Le formulaire vérifie donc
que ce critère soit respecté lors de la validation, et devrait
afficher une erreur si il ne l’est pas.
Or, le message d’erreur n’était pas rajouté correctement et fait
planter la validation.
De plus, lorsqu’il est 23h, les valeurs par défaut ne respectent pas
cette condition (on rajoute une heure, il est donc minuit passé). La
valeur par défaut du champ de fin est donc "23:59" si il est 23
heures. Il est important de noter que cette valeur ne valide toujours
pas le critère à 23h59, il serait bon de trouver une solution plus
pérenne à l’avenir, même si je doute que beaucoup de personnes ne
cherche une salle libre à ces heures…
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Rajout des nouveautés de la (future) version 0.14, met à jour la
feuille de route pour la version 0.15, rajout d’informations par
rapport aux parseurs lors de l’installation, rajout de LXML dans la
liste des modules nécessaires, rajout d’un paragraphe sur les versions
de Python 3 testées.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Certains groupes ont la syntaxe suivante :
L1 4L s1 CM4L
L1 4L s1 TD4L1
L1 4L s1 TP4L12
etc.
Le « 4 » entre le CM/TD/TP et le « numéro » fait échouer la regex. Ce
commit rajoute le support de cette syntaxe, et ajoute les cas de test adéquats.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Certains cours ont des noms trop long pour entrer dans la limite de
255 caractères.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Les champs mention, semestre et sous-groupe d’un groupe n’étaient pas
éditables depuis l’interface d’administration, car ils sont censés
êtres générés automatiquement.
Cela permet de pouvoir éditer les attributs d’un groupe en attendant
de pouvoir corriger la regex des groupes.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Correction d’un bogue qui faisait planter le parseur si on demandait
une mise à jour complète alors que la source ne contenait pas de
semaines. Désormais, si une source ne contient pas de semaines, la
date de mise à jour de la source est modifiée, et aucun cours n’est
supprimé ou rajouté.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Les semaines étaient parsées avec le format de base de Python au lieu
du format ISO-601. Selon le format de Python, le 1er Janvier 2019
fait partie de la 53ème semaine de l’an 2018, alors que selon ISO, il
fait partie de la 1ère semaine de 2019. Étant donné que d’autres
parties de celcatsanitizer gèrent les dates selon ISO, cela posait des
problèmes de cohérence.
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ce paramètre est devenu inutile depuis l’ajout des sources, qui sont
déjà triées par leur ID.
|
|
|
|
|
|
|
|
|
|
Mise à jour de la doc, nouvelles protections dans timetable_common()
|
|
|
|
Depuis la séparation entre source et emploi du temps, timetable.url
contient le lien vers la liste des groupes de la page, et donc ici
pointe sur lui-même.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|