-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathecoledirecte.py
29 lines (26 loc) · 1.15 KB
/
ecoledirecte.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from requests import request as req
from main import calm_exit
from rich import print
# Se connecte à EcoleDirecte
def login(username: str, password: str, token: str = None):
payload = 'data={ "identifiant": "' + username + \
'", "motdepasse": "' + password + '", "acceptationCharte": true }'
try:
response = req(
"POST", "https://api.ecoledirecte.com/v3/login.awp", data=payload).json()
token = response['token'] or token
return response, token
except Exception as exception:
if type(exception).__name__ == "ConnectionError":
print("[reverse bold red]La connexion a échoué[/]")
print("[red]Vérifiez votre connexion Internet.[/]")
else:
print("[reverse bold red]Une erreur inconnue est survenue.[/]")
calm_exit()
# Récupère les notes
def fetch_notes(account, token: str):
payload = 'data={"token": "' + token + '"}'
response = req("POST", "https://api.ecoledirecte.com/v3/eleves/" +
str(account['id']) + "/notes.awp?verbe=get&", data=payload).json()
token = response['token'] or token
return response, token