aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-02views: requête de liste des groupes/semaines opti pour PostgreSQLag/requete-groupe-opti-pgAlban Gruin
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>
2018-09-19Version 0.14.1v0.14.1Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-19doc: mise à jour de la documentationAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-19parsers: correction de l’index du premier élément à analyserAlban Gruin
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>
2018-09-10forms: correction de l’ajout du message d’erreurAlban Gruin
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>
2018-09-06Version 0.14.0v0.14.0stable/0.y.zAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-06documentation: mise à jour de la documentationag/dev-0.14Alban Gruin
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>
2018-09-06requirements: mise à jour des modules de celcatsanitizerAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-06groupes: ajout du support d’une nouvelle syntaxeAlban Gruin
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>
2018-09-06models: augmentation de la limite de taille de cours à 511 caractèresAlban Gruin
Certains cours ont des noms trop long pour entrer dans la limite de 255 caractères. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-06admin: la mention, le semestre et le sous-groupe deviennent éditablesAlban Gruin
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>
2018-09-06admin: tri des salles par ordre alphabétique par défautAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-06timetables: ne rien faire si une source ne contient pas de semainesAlban Gruin
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>
2018-09-06utils: correction du format des semaines dans `get_weeks()`Alban Gruin
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>
2018-09-06parsers: nouveau parseur pour le format utilisé par l’UPS en 2018Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-03parsers: parseur orienté objet avec une classe abstraiteAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-03parsers: déplacement de delete_courses_in_week() vers timetable.pyAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-03management: création d’un sous-module parserAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-04-25Version 0.13.0v0.13.0stable/0.13.zAlban Gruin
2018-04-25Merge branch 'futur'Alban Gruin
2018-04-25templates: remplacement de dt_prettyprint par dateAlban Gruin
2018-04-25templates: abstraction des listes de groupes/salles/semainesAlban Gruin
2018-04-25qsjps: abstraction et navigation de la templateAlban Gruin
2018-04-23doc: ajout de la méthode d’installation avec requirements.txtAlban Gruin
2018-04-23Mise à jour des dépendancesAlban Gruin
2018-04-23Merge branch 'qsjps' into futurAlban Gruin
2018-04-23qsjps: ajout d’un lien vers les salles dans la liste des résultatsqsjpsAlban Gruin
2018-04-23doc: corrections de grammaireAlban Gruin
2018-04-23doc: readme en md à nouveauAlban Gruin
2018-04-22doc: finalisationAlban Gruin
2018-04-22doc: nouveau readmeAlban Gruin
2018-04-22doc: Guide de contributionAlban Gruin
2018-04-22doc: reformulation d’un paragrapheAlban Gruin
2018-04-22doc: documentation des commandes administrativesAlban Gruin
2018-04-22Suppression du paramètre --order-by-id dans listtimetablesAlban Gruin
Ce paramètre est devenu inutile depuis l’ajout des sources, qui sont déjà triées par leur ID.
2018-04-21doc: Début de la nouvelle documentation avec SphinxAlban Gruin
2018-04-21Ajout d’une liste complète des groupes et d’une liste des semainesAlban Gruin
2018-04-21templates: abstraction et séparation des templates de listeAlban Gruin
2018-04-21PEP8Alban Gruin
2018-04-15urls: utilisation de la nouvelle syntaxe path de DjangoAlban Gruin
Mise à jour de la doc, nouvelles protections dans timetable_common()
2018-04-15Ajout d’une explication sur le format ICSAlban Gruin
2018-04-15group_list: correction de l’URL proposée comme source de l’emploi du tempsAlban Gruin
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.
2018-04-15Code de la template des emplois du temps plus lisibleAlban Gruin
2018-04-15Légères corrections PEP8Alban Gruin
2018-04-15Ajout d’un gitattributesAlban Gruin
2018-04-15Merge branch 'fusion/alban' into qsjpsAlban Gruin
2018-04-15Petites corrections du READMEAlban Gruin
2018-04-15On importe RawSQL que lorsqu’on utilise PostgreSQLAlban Gruin
2018-04-03On importe ArrayAgg que lorsqu’on utilise une base postgresAlban Gruin
2018-04-03Changement de l’année inscrite dans la templateAlban Gruin