aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-05Version 0.14.4-2v0.14.4-2-pa1chprod/pa1ch/0.14.zAlban Gruin
2019-02-05Merge branch 'ag/api' into prod/pa1ch/0.14.zAlban Gruin
2019-02-05Documentation: ajout des nouvelles routes dans la doc et correctionsAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-02-05api/views: ajout de routes pour lister les cours d’une seule journéeAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-02-05Documentation: correction de la doc de l’APIAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27Version 0.14.4-1-pa1chv0.14.4-1-pa1chAlban Gruin
2019-01-27Merge branch 'ag/api' into prod/pa1ch/0.14.zAlban Gruin
2019-01-27Documentation: ajout d’une doc sur l’API RESTAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27api: ajout d’un routeur pour l’API, branchement sur urls.pyAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27api: complétion des vues de l’APIAlban Gruin
Ajout de vues permettant de consulter les emplois du temps associés à une année ou à une source, les groupes associés à un emploi du temps, les cours d’un groupe ou d’une salle (soit tous, soit ceux de la semaine courante, soit ceux d’une semaine précise), de lister les semaines de cours, et d’accéder à QSJPS. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27api: ajout des vues de l’APIAlban Gruin
L’API a besoin de vues pour renvoyer des données. Ces vues utilisent les sérialiseurs écrits précédement. Pour l’instant, les sérialiseurs sont assez rudimentaires (ils ne peuvent afficher qu’une liste d’objets ou un seul objet sans filtres ou fonctionnalités supplémentaires), et ne permettent pas d’effectuer de modifications. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27api: ajout d’un sérialiseur pour chaque modèleAlban Gruin
Les sérialiseurs permettent de représenter les modèles en JSON. Tous les sérialiseurs exportent tous les champs de leurs modèles respectifs. En plus de cela, le sérialiseur du modèle des cours sérialise en plus les groupes et salles pour ne pas avoir à faire trop d’appels à l’API. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-27requirements: ajout d’une dépendance à Django REST FrameworkAlban Gruin
Django REST Framework sera utilisé pour réaliser l’API de celcatsanitizer. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-04Merge branch 'ag/pa1ch/nique-toi-google' into prod/pa1ch/0.14.zv0.14.4-pa1chAlban Gruin
2019-01-04Merge branch 'stable/0.14.z' into prod/pa1ch/0.14.zAlban Gruin
2019-01-04templates: ajout d’un gabarit flatpage pour les guidesag/pa1ch/nique-toi-googleAlban Gruin
Les guides ICS vont intégrer des images, or aucune directive CSS n’est présente pour les afficher correctement dans le thème de base. Ceci rajoute donc un gabarit flatpage avec quelques directives CSS supplémentaires pour qu’elles s’intègrent bien sur les pages. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-04templates: ajout de liens vers des guides d’utilisation des ICSAlban Gruin
Les utilisateurs ne savent pas forcément se servir des différents logiciels permettant de lire les calendriers au format ICS. Ceci rajoute donc des liens vers des guides pour se servir des logiciels listés, à l’exception d’iCloud (ça arrivera peut-être à l’avenir ?). Ces guides seront gérés par des flatpages Django. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-04Version 0.14.4v0.14.4stable/0.14.zag/reneAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-04doc: mise à jour de la documentationAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-01-04Merge branch 'ag/nique-toi-google'Alban Gruin
2019-01-04templates: ajout d’un message déconseillant l’utilisation de GCalendarAlban Gruin
Le service Calendar du géant du numérique Google ne supporte pas bien les fichiers ICS. Les mises à jour sont plus ou moins quotidiennes, et il est impossible d’en changer la fréquence ou de les forcer. Or, celcatsanitizer rafraîchir ces informations juste après que Google ait mis à jour ses ICS. Cela signifie qu’il peut y avoir un délai de un jour entre le changement d’une information sur celcatsanitizer et sa prise en compte par Google Calendar, sans aucun recours possible. Les utilisateurs ne sont pas forcément au courant de ce problème, alors un texte a été rajouté pour les en informer. Le lecteur attentif pourra se demander si il n’y a pas de conflit d’intérêt entre l’écosystème Android, dans lequel l’application de base (Agenda) ne peut se synchroniser qu’à Google Calendar à moins d’installer une application tierce (telles que DAVDroid ou ICSDroid, malheureusement payantes sur le Play Store mais gratuites sur F-Droid). Il pourra aussi se questionner sur la raison du mauvais support des ICS par ce service -- serait-ce une technique pour inciter les utilisateurs à se servir de Google Calendar en priorité, au détriment des formats standards et des autres écosystèmes (par exemple, celui d’Apple), et ainsi attirer plus d’utilisateurs ? Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-12-31templates: ajout d’une liste de logiciels lisant les fichiers ICSAlban Gruin
Il existe plusieurs logiciels permettant d’utiliser le format ICS, mais les utilisateurs ne les connaissent pas forcément. Le but est de les informer sur les solutions existantes. Google Calendar est volontairement exclu de cette liste. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-10-09Merge branch 'stable/0.14.z' into prod/pa1ch/0.14.zv0.14.3-pa1chAlban Gruin
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-29Merge branch 'stable/0.14.z' into prod/pa1ch/0.14.zv0.14.2-pa1chAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-09-29scraptimetables: adaptation de scraptimetables à la nouvelle pageAlban 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-19Merge branch 'stable/0.14.z' into prod/pa1ch/0.14.zv0.14.1-pa1chAlban Gruin
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-06Merge branch 'stable/0.14.z' into prod/pa1ch/0.y.zv0.14.0-pa1chprod/pa1ch/0.y.zAlban Gruin
2018-09-06templates: changement du titre et de la description de l’indexAlban Gruin
Ces changements indiquent que cette instance de celcatsanitizer héberge les emplois du temps de l’Université Paul Sabatier, via le titre de la page et la description. Ça aidera peut-être pour le référencement. 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>