Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

Classe Python pour récupérer le planning Aurion sous forme d'une chaîne JSON

License

Notifications You must be signed in to change notification settings

BDeliers/Python-Planning-Aurion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Python-Planning-Aurion

Classe Python pour télécharger le planning Aurion sous forme d'une chaîne JSON
Aurion est un "ERP de Scolarité" créé par Auriga. Il permet de gérer entr-autres le planning des étudiants dans des grandes écoles
BDeliers, août 2018
Sous License APACHE 2.0

[MISE EN GARDE] Semble ne plus fonctionner depuis septembre 2020...


Pour fonctionner, ce module se connecte à Aurion dans Firefox (de manière invisible) puis récupère les infos indispensables. Par la suite, il envoie une requête HTTP à une page d'Aurion pour récupérer les données de planning, que le script convertit ensuite en JSON.


Pour utiliser cette classe, il vous faudra installer Python 3 et Pip3 ainsi que Firefox ou Chrome/Chromium Sous linux :

    sudo apt-get install python3 python3-dev python3-pip firefox google-chrome chromium-browser

Ensuite, les modules selenium, lxml et requests sont indispensables

    sudo pip3 install selenium
    sudo pip3 install lxml
    sudo pip3 install requests

Enfin, il vous faudra télécharger le driver qui correspond à votre navigateur et le désarchiver dans le répertoire qui contient votre script python (ou bien l'ajouter au PATH).
Pour Firefox : geckodriver
Pour Chrome/Chromium : chromedriver

Pour une utilisation sur Raspberry Pi/Serveur, utilisez la version Chromium. Le driver est installable par sudo apt-get install chromium-driver.


Exemple d'utilisation pour récupérer le planning du mois prochain :

    # La classe
    from aurion import *

    # Modules de temps
    from datetime import datetime, timedelta
    from time import mktime, sleep

    # Current directory
    from os import getcwd

    # Date actuelle, le mois prochain, dans 2 mois
    maintenant = datetime.now()
    moisPro = maintenant + timedelta(days=31)
    moisProPro = moisPro + timedelta(days=31)

    # Début et fin : le mois prochain et dans 2 mois
    debut = int(mktime(moisPro.timetuple()))
    fin = int(mktime(moisProPro.timetuple()))

    # On initialise l'objet en supposant que geckodriver est dans le répertoire courant
    aurion = Aurion("monLogin", "monMDP", "firefox", getcwd() + "/geckodriver")

    # On récupère les informations de login
    aurion.queryInformations()

    # On descend le planning en JSON
    print(aurion.queryPlanningOnPeriod(debut, fin))