Un script Python non officiel qui génère des liens vers les calendriers des différentes matières de Sorbonne Université.
- Accédez aux fichiers URL des matières supportées en cliquant --> ici <-- pour une interface web.
- Copiez l'URL du calendrier correspondant à votre matière.
- Ajoutez les calendriers à votre application de calendrier préférée (Google Calendar, Apple Calendar, etc.) en utilisant l'option d'ajout via URL.
- Ouvrez Google Calendar.
- Cliquez sur le signe + à côté de "Autres agendas", puis sélectionnez Ajouter via URL.
- Collez l'URL correspondant à votre matière.
Les calendriers sont automatiquement mis à jour toutes les 4 heures. Cependant, les modifications peuvent prendre plus de temps avant d’être reflétées dans votre application de calendrier.
Les contributions sont les bienvenues ! Si vous souhaitez ajouter un nouveau calendrier, corriger des erreurs ou améliorer le projet, vous pouvez !
- si le cours appartient a un master pas encore supporter, il faut ajouter a la liste
calendars
dansmain.py
l'objet Master representant le nouveau master qui prends :- le nom du master
- l'url du calendrier de ce master
- la liste de ses ue (vous n'etes pas obliger de rajouter l'integralité des ues du master), une ue est representer pas un dictionnaire contenant 2 paire clé/valeur :
ue
, le nom de l'uesemester
, le semestre de la matiere
Master("RES", "https://cal.ufr-info-p6.jussieu.fr/caldav.php/RES/M1_RES", [
{"ue": "ARES", "semester": 1}
]),
- écrire le module pour parser correctement le calendrier de votre Master, pour visualiser les noms des evenements vous pouvez vous aider du script
test.py
:course_type_filters
represente la liste des evenement de la matiere dans notre casCS
represente le cours de RTEL,TD
represente les tds,TME
represente les tmes etdefault
les evenements restant.- la fonction doit retourner un dictionnaire qui associe a chaque groupe le calendrier du groupe, dans notre cas le cours de rtel possede 2 groupes :
- le groupe 2
group2
qui fusione le coursCS
, les tdsTD2
, les tmesTME2
, et le restedefault
- le groupe 3
group3
qui fusione le coursCS
, les tdsTD3
, les tmesTME3
, et le restedefault
- le groupe 2
from ics import Calendar
from core.lib import (
filter_events_by_name,
merge_calendars
)
def get_ares_calendars(raw_calendar: Calendar) -> dict[str, Calendar]:
course_type_filters = ["CS", "TD2", "TD3", "TME2", "TME3"]
filtered_calendars = filter_events_by_name(raw_calendar, course_type_filters)
group2 = merge_calendars([
filtered_calendars["CS"],
filtered_calendars["TD2"],
filtered_calendars["TME2"],
filtered_calendars["default"]
])
group3 = merge_calendars([
filtered_calendars["CS"],
filtered_calendars["TD2"],
filtered_calendars["TME3"],
filtered_calendars["default"]
])
return {
"group2": group2,
"group3": group3
}
- On ajoute le module au fichier
globals.py
:- ajouter l'import
from modules.lib_rtel import get_rtel_calendars
- on ajoute la fonction a la table de correspondante
MODULE_FUNCTIONS
, la clé est constituer du nom du master,.
, le nom du cours renseigner dans l'object Master.
- ajouter l'import
Si vous avez des questions ou des suggestions, vous pouvez ouvrir une issue pour contacter le mainteneur du projet.