aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-03Revert "ups2018: get_weeks() retourne la vraie liste des semaines présentes"ag/ups2018-liste-semainesAlban Gruin
This reverts commit cc92838a22eeb406474f7f5fa48eb42fa5ee4e4f.
2018-12-31ups2018: get_weeks() retourne la vraie liste des semaines présentesAlban Gruin
Change la fonction get_weeks() du parseur UPS2018 pour créer la liste des semaines présentes à partir de la liste des événements. Avant, cette liste contenait seulement la semaine courante, ce qui posait problème quand une mise à jour était faite avec les paramètres `--all --force' : les cours à partir de la semaine courante étaient supprimés, mais les cours rajoutés étaient ceux du mois entier. Il était donc possible de se retrouver avec des cours en doublons entre la première semaine du mois courant et la semaine courante. Il peut éventuellement y avoir un défaut avec cette technique : si tous les cours des premières semaines du mois ont été retirées de l’emploi du temps parce qu’ils ont étés annulés, les premières semaines ne se trouveront pas dans la liste des semaines disponibles, et ces cours resterons dans la base de celcatsanitizer, alors qu’ils ont étés annulés. Il serait peut-être plus judicieux de créer une liste de manière statique, en prenant comme seule valeur la première semaine du mois. La fonction get_weeks() calcule donc le début de chaque événement et vérifie si son titre ne contient pas « global event » pour ne pas le prendre en compte. Pour éviter de faire ces opérations deux fois, ces données sont stockées dans l’événement. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09Version 0.14.3v0.14.3Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09doc: mise à jour de la documentationAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09Merge branch 'ag/ups2018-correctifs-apres-tests'Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09ups2018: vérification de la présence des événements dans la pageag/ups2018-correctifs-apres-testsAlban Gruin
Il arrive que les pages retournées par la source sont incomplètes et ne contiennent pas d’événement, et parfois des mois entiers sont vides. On tente donc de récupérer une page trois fois au maximum, et, si cela échoue toujours, on abandonne en renvoyant une exception. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09parsers: ajout d’une exception pour les parseursAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29Version 0.14.2v0.14.2Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29doc: mise à jour de la documentationAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29Merge branch 'mh/correctifs-texte'Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29views: code d’erreur 400 lorsque le formulaire de QSJPS est invalideAlban Gruin
Ce commit change le code HTTP renvoyé si le formulaire de QSJPS est invalide. Le code renvoyé était le code 200, signifiant que la requête s’est bien déroulée. Avec ce commit, on renvoye un code 400, qui indique à l’utilisateur que sa requête est invalide. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29forms: correction du message d’erreur de QSJPSAlban Gruin
Lorsque le formulaire de QSJPS est incorrect, il manque un espace au message affiché. Ce commit corrige cela. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29ups2018: pas de création de cours si l’événement est globalAlban Gruin
Pour l’instant, on ne souhaite pas enregistrer les événement globaux. On vérifie donc si l’événement est global, et, si c’est le cas, on ne traite pas l’événement. Or, on insérait un cours dans la base de données avant de faire ce test. Un cours avec aucun attribut était donc laissé dans la base de données. Ce commit déplace donc la création du cours après avoir vérifié si un événement est global. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-28Changement de "Semaine Suivante/Précédente" vers "Semaine ↵mh/correctifs-texteMaxime
suivante/précédente"
2018-09-28Changement de "Semaine NN" vers "Semaine Suivante/Précédente"Maxime
2018-09-23ups2018: détection du premier élément « utile » des données du coursAlban Gruin
La plupart des cours contiennent un élément correspondant à l’heure de début et de fin du cours. Lorsqu’un cours ne possède pas de nom, il se peut que cet élément soit utilisé comme type, ce qui n’a pas de sens. On va donc détecter la présence de cet élément à la première place à l’aide d’une regex, et, si jamais il est présent, on n’utilise pas le premier élément de la liste. À l’origine, cet élément ne devait pas être utilisé pour cette raison, mais ce comportement a été changé avec le commit ab6ca3c ("parsers: correction de l’index du premier élément à analyser"), après la détection de cours n’ayant pas cet élément. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-23ups2018: déduplication avec OrderedDict au lieu de set()Alban Gruin
set() ne conserve pas nécessairement l’ordre des données, ce qui a plusieurs conséquences. Premièrement, un cours avec plusieurs noms séparés par un point-virgule peut changer de nom dans celcatsanitizer d’une mise à jour à une autre. Deuxièmement, cette fonctionnalité devient intestable de manière certaine. Pour remédier à cela, on utilise la structure OrderedDict à la place. 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