forked from ScoDoc/ScoDoc
60 lines
1.3 KiB
Python
60 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
# -*- mode: python -*-
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""Exemple utilisation API ScoDoc 9 avec jeton obtenu par basic authentication
|
|
|
|
Usage:
|
|
cd /opt/scodoc/tests/api
|
|
python -i essai_tous_semestres.py
|
|
|
|
Ce script va demander les semestres suivi par chaque étudiant !
|
|
"""
|
|
|
|
|
|
from pprint import pprint as pp
|
|
import sys
|
|
import urllib3
|
|
from setup_test_api import (
|
|
API_PASSWORD,
|
|
API_URL,
|
|
API_USER,
|
|
APIError,
|
|
CHECK_CERTIFICATE,
|
|
get_auth_headers,
|
|
GET,
|
|
POST,
|
|
SCODOC_URL,
|
|
)
|
|
|
|
|
|
if not CHECK_CERTIFICATE:
|
|
urllib3.disable_warnings()
|
|
|
|
print(f"SCODOC_URL={SCODOC_URL}")
|
|
print(f"API URL={API_URL}")
|
|
|
|
|
|
HEADERS = get_auth_headers(API_USER, API_PASSWORD)
|
|
|
|
|
|
# Liste de tous les étudiants en cours (de tous les depts)
|
|
etuds = GET("/etudiants/courants", headers=HEADERS)
|
|
|
|
print(f"{len(etuds)} étudiants courants")
|
|
nb_etuds = 0
|
|
nb_sems = 0
|
|
nb_empty_sems = 0
|
|
for etud in etuds:
|
|
if etud["code_nip"]:
|
|
sems = GET(f"/etudiant/nip/{etud['code_nip']}/formsemestres", headers=HEADERS)
|
|
assert not sems or [sem["annee_scolaire"] for sem in sems]
|
|
nb_etuds += 1
|
|
nb_sems += len(sems)
|
|
if not sems:
|
|
nb_empty_sems += 1
|
|
|
|
print(
|
|
f"testé {nb_etuds} etuds avec NIP, et {nb_sems} semestres (dont {nb_empty_sems} vides)."
|
|
)
|