aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-01Version 0.15.0HEADv0.15.0masterAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01Merge branch 'futur'Alban Gruin
2019-09-01doc: mise à jour de la doc pour la future version 0.16futurAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01requirements: mise à jour des dépendancesAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01Ajout d’un mailmapAlban Gruin
J’ai changé d’adresse entre le début de ce projet et maintenant Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01api: remplacement des appels à detail_route par actionAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01views: utilisation de TruncWeekAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01ups2018: correction d’une erreur de syntaxe avec Python 3.7Alban Gruin
`async' est devenu un mot-clef avec Python 3.7. Or, un paramètre est appelé de cette manière dans le parseur UPS2018. Ceci le renome en `asynchronous' pour corriger ce problème Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-09-01Merge branch 'ag/parser-ups-2019' into futurAlban Gruin
2019-09-01ups2019: réadaptation du parseurag/parser-ups-2019Alban Gruin
L’emplacement des différents éléments a changé, mdr. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30Merge branch 'ag/nique-toi-google' into futurAlban Gruin
2019-08-30templatetags/rooms: correction du nom brut des sallesAlban Gruin
Les salles et amphis commencent maintenant par leur département, de cette manière : FSI / Amphi FERMAT (bat.1A) Au lieu de : Amphi FERMAT (bat.1A) Cela ne fait que rajouter du bruit sur la page. Ceci modifie le filtre de formatage des salles pour retirer le département si il est présent. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30ups2019: nouveau parseur pour le format UPS2019Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30ups2018: déplacement des préfixes de cours dans une constanteAlban Gruin
Le parseur UPS2018 va se servir de cette liste aussi, elle est donc déplacée dans sa propre constante. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30models: remplacement de RENCONTRE par rencontre dans le type d’un coursAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-30models & admin: ajout des champs nécessaires pour le parseur UPS2019Alban Gruin
Le nouveau format utilisé requiert d’effectuer des requêtes POST et non plus GET, une URL n’est donc plus suffisante pour indiquer la source. Un champ `metadata' est rajouté, contenant une métadonnée au format texte. Il serait plus judicieux d’utiliser un champ JSONField, mais ce type est restreint à PostgreSQL (mon environnement de développement utilise toujours SQLite). Les ID des cours dans celcat ne sont plus de simples nombres mais des chaînes de caractères. Ce changement est donc reflété dans le modèle des cours. Dans le nouveau format, si un cours a plus de 3 groupes, seul les 3 premiers groupes sont listés, les autres sont marqués avec un texte du genre « 2 autres… ». (Ça fait 2 ans et demi que je travaille sur ce projet, et plus le temps passe, plus j’ai l’impression que la drogue est un outil de travail comme un autre chez celcat.) Le champ `buggy' est rajouté pour indiquer si c’est le cas de ce cours ou non, ce qui permettra d’ajouter une remarque sur les pages ouèbe ou les ICS. Les interfaces d’administration sont modifiées pour intégrer ces changements. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-08-28templates: nouveau nom de ICSdroidag/nique-toi-googleAlban Gruin
Ceci change le nom d’ICSdroid sur la page des ICS en ICSx⁵, son nouveau nom. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-09Merge branch 'ag/api' into futurAlban Gruin
2019-06-09api: ajout d’un paramètre pour activer ou non l’APIag/apiAlban Gruin
L’API devient optionnelle, et un paramètre, CS_ENABLE_API, est rajouté pour sélectionner son état (activé ou non). Par défaut, il est désactivé. La documentation est mise à jour pour refléter ces changements. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-09Merge branch 'ag/parser' into futurAlban Gruin
2019-06-09tests: test de la détection du module correspondant à un coursag/parserAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-09tests: test du parsage des ID de cours CelcatAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08UPS2018: récupération du module (UE) correspondant à un coursAlban Gruin
Il peut être intéressant de lister les cours par module (UE). Une table est donc rajoutée pour stocker cette information et permettre d’effectuer des recherches et des tris. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08UPS2018: ajout du champ celcat_idAlban Gruin
Les cours dans celcat ont un champ id. Ce changement permet de le stocker dans la base de données (sous la forme d’un entier) et de l’afficher dans l’interface d’administration. Pour l’instant, on ne sait pas si cette valeur est unique ou non. Il n’y a donc pas de contraintes sur ce champ pour le moment. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08commands: ajout d’une commande pour lister les propriétés des coursAlban Gruin
Pour pouvoir analyser plus facilement les attributs d’un cours, un nouvel outil est rajouté pour lister tous les attributs d’un ou plusieurs cours. Il fait appel au parseur et permet de sélectionner une source, et de limiter le nombre de cours affichés. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-06-08commands: ajout d’un modèle abstrait de commande accédant au parseurAlban Gruin
Pour les besoins de l’ajout de la notion de module, un nouvel outil permettant de lister les attributs d’un cours sera rajouté. À l’instar de timetables, il fera aussi appel au parseur. Pour éviter de dupliquer du code, la partie accès au parseur est déplacé dans une autre classe. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2019-02-13templates: bonne année 2019Alban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
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-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/tests' into futurAlban Gruin
2019-01-04Merge branch 'master' into futurAlban Gruin
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-31tests: test du tag format_roomsag/testsAlban Gruin
Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-12-31tests: test du comportement du parseur lorsque la source est mauvaiseAlban Gruin
Il est possible que la source renvoie des pages vides ou incorrectes, il est donc nécessaire de tester le comportement du parseur dans ces cas-là. Ajout d’un modèle de page vide dans les données de test. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-12-31tests: vérification du nombre de cours dans le test du parseurAlban Gruin
Dans certaines conditions, un nouveau cours doit être créé dans la base de données, mais parfois non. Pour vérifier qu’un seul cours a bien été rajouté (ou non, en fonction des cas), on teste aussi le nombre de cours présent dans la base de données. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-12-31tests: ajout de tests pour le parseur UPS2018Alban Gruin
Le parseur est une des parties les plus importantes de celcatsanitizer, mais ni le parseur 2017, ni le parseur 2018 n’ont eu de test unitaires à proprement parler. Jusqu’ici, pour tester ce composant, on ajoutait une source dans la base, on la récupérait, et on regardait si tout correspondait plus ou moins. Cette technique a plusieurs inconvénients : c’était une tâche rébarbative et pas systématiquement effectuée, ce qui a posé quelques problèmes par le passé, certains cas pouvaient ne pas se trouver dans la source au moment de la récupération, et ce n’était pas reproductible proprement. Rajouter des tests permettra donc de tester efficacement le parseur, avec tous les cas de figure, rapidement et en utilisant seulement des ressources locales. Pour éviter d’utiliser le réseau, le module requests est mocké lorsqu’on teste des fonctions qui l’utilisent. L’initialisation du parseur et ses fonctions __get_event(), get_events(), get_source() et get_update_date() (ainsi que la fonction find_events_list() de manière indirecte) sont testées. Signed-off-by: Alban Gruin <alban@pa1ch.fr>
2018-12-31templates: correction d’une faute d’orthographeAlban Gruin
On dit « choisissez », pas « choississez ». 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-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>