Merge pull request 'improve_csv_read' (#529) from jmplace/ScoDoc-Lille:improve_csv_read into master

Reviewed-on: https://scodoc.org/git/ScoDoc/ScoDoc/pulls/529
This commit is contained in:
Emmanuel Viennet 2022-11-12 15:46:34 +01:00
commit ddef29d3c5
3 changed files with 126 additions and 112 deletions

View File

@ -40,16 +40,19 @@ Le tout mis en forme au format markdown et rangé dans le répertoire DATA_DIR (
TODO: ajouter un argument au script permettant de ne générer qu'un seul fichier (exemple: `python make_samples.py nom_exemple`) TODO: ajouter un argument au script permettant de ne générer qu'un seul fichier (exemple: `python make_samples.py nom_exemple`)
""" """
import numpy as np
import os import os
import shutil import shutil
import sys import sys
import re import re
from collections import defaultdict from collections import defaultdict
from pprint import pprint as pp from pprint import pprint as pp
from pprint import pformat as pf
import urllib3 import urllib3
import json import json
from pandas import read_csv
from setup_test_api import ( from setup_test_api import (
API_PASSWORD, API_PASSWORD,
API_URL, API_URL,
@ -63,6 +66,7 @@ from setup_test_api import (
) )
DATA_DIR = "/tmp/samples/" DATA_DIR = "/tmp/samples/"
SAMPLES_FILENAME = "tests/ressources/samples.csv"
class Sample: class Sample:
@ -143,7 +147,12 @@ class Samples:
self.entries = defaultdict(lambda: set()) self.entries = defaultdict(lambda: set())
self.entry_names = entry_names self.entry_names = entry_names
def add_sample(self, entry, url, method="GET", permission="ScoView", content=None): def add_sample(self, line):
entry = line["entry_name"]
url = line["url"]
method = line["method"]
permission = line["permission"]
content = line["content"]
if self.entry_names is None or entry in self.entry_names: if self.entry_names is None or entry in self.entry_names:
if method[0] == "#": if method[0] == "#":
detail = "**ignored**" detail = "**ignored**"
@ -185,19 +194,24 @@ def make_samples():
shutil.rmtree(DATA_DIR) shutil.rmtree(DATA_DIR)
os.mkdir(DATA_DIR) os.mkdir(DATA_DIR)
else: else:
os.mkdir("/tmp/samples") os.mkdir(DATA_DIR)
samples = Samples(entry_names) samples = Samples(entry_names)
samples_file = os.path.dirname(__file__) + "/samples.csv" df = read_csv(
with open(samples_file) as f: SAMPLES_FILENAME,
L = [x[:-1].split("\t") for x in f] sep=";",
for line in L[1:]: quotechar='"',
entry_name = line[0] dtype={
url = line[1] "entry_name": str,
permission = line[2] if line[2] != "" else "ScoView" "url": str,
method = line[3] if line[3] != "" else "GET" "permission": str,
content = line[4] if len(line) > 4 else "" "method": str,
samples.add_sample(entry_name, url, method, permission, content) "content": str,
},
keep_default_na=False,
)
df = df.reset_index()
df.apply(lambda line: samples.add_sample(line), axis=1)
samples.dump() samples.dump()
return samples return samples

View File

@ -1,99 +0,0 @@
reference url permission method content
departements /departements GET
departements-ids /departements_ids GET
departement /departement/TAPI GET
departement /departement/id/1 GET
departement-etudiants /departement/TAPI/etudiants GET
departement-etudiants /departement/id/1/etudiants GET
departement-formsemestres_ids /departement/TAPI/formsemestres_ids GET
departement-formsemestres_ids /departement/id/1/formsemestres_ids GET
departement-formsemestres-courants /departement/TAPI/formsemestres_courants GET
departement-formsemestres-courants /departement/id/1/formsemestres_courants GET
departement-create /departement/create ScoSuperAdmin POST {"acronym": "NEWONE" , "visible": true}
departement-edit /departement/NEWONE/edit ScoSuperAdmin POST {"visible": false}
departement-delete /departement/NEWONE/delete ScoSuperAdmin POST
etudiants-courants /etudiants/courants?date_courante=2022-07-20 ScoView GET
etudiants-courants /etudiants/courants/long?date_courante=2022-07-20 ScoView GET
etudiant /etudiant/etudid/11 ScoView GET
etudiant /etudiant/nip/11 ScoView GET
etudiant /etudiant/ine/INE11 ScoView GET
etudiants-clef /etudiants/etudid/11 ScoView GET
etudiants-clef /etudiants/ine/INE11 ScoView GET
etudiants-clef /etudiants/nip/11 ScoView GET
etudiant-formsemestres /etudiant/etudid/11/formsemestres ScoView GET
etudiant-formsemestres /etudiant/ine/INE11/formsemestres ScoView GET
etudiant_formsemestres /etudiant/nip/11/formsemestres ScoView GET
etudiant-formsemestre-bulletin /etudiant/etudid/11/formsemestre/1/bulletin ScoView GET
etudiant-formsemestre-bulletin /etudiant/ine/INE11/formsemestre/1/bulletin ScoView GET
etudiant-formsemestre-bulletin /etudiant/nip/11/formsemestre/1/bulletin ScoView GET
etudiant-formsemestre-bulletin /etudiant/nip/11/formsemestre/1/bulletin/short/pdf ScoView GET
etudiant-formsemestre-groups /etudiant/etudid/11/formsemestre/1/groups ScoView GET
formations /formations ScoView GET
formations_ids /formations_ids ScoView GET
formation /formation/1 ScoView GET
formation-export /formation/1/export ScoView GET
formation-export /formation/1/export_with_ids ScoView GET
formation-referentiel_competences /formation/1/referentiel_competences ScoView GET
moduleimpl /moduleimpl/1 ScoView GET
formsemestre /formsemestre/1 ScoView GET
formsemestres-query /formsemestres/query?annee_scolaire=2022&etape_apo=A2 ScoView GET
formsemestres-query /formsemestres/query?nip=11 ScoView GET
formsemestre-bulletins /formsemestre/1/bulletins ScoView GET
formsemestre-programme /formsemestre/1/programme ScoView GET
formsemestre-etudiants /formsemestre/1/etudiants ScoView GET
formsemestre-etudiants /formsemestre/1/etudiants/long ScoView GET
formsemestre-etudiants-query /formsemestre/1/etudiants/query?etat=D ScoView GET
formsemestre-etat_evals /formsemestre/1/etat_evals ScoView GET
formsemestre-resultats /formsemestre/1/resultats ScoView GET
formsemestre-decisions_jury /formsemestre/1/decisions_jury ScoView GET
formsemestre-partitions /formsemestre/1/partitions ScoView GET
partition /partition/1 ScoView GET
group-etudiants /group/1/etudiants ScoView GET
group-etudiants-query /group/1/etudiants/query?etat=D ScoView GET
moduleimpl-evaluations /moduleimpl/1/evaluations ScoView GET
evaluation-notes /evaluation/1/notes ScoView GET
user /user/1 ScoView GET
users-query /users/query?starts_with=u_ ScoView GET
permissions /permissions ScoView GET
roles /roles ScoView GET
role /role/Observateur ScoView GET
group-set_etudiant /group/1/set_etudiant/10 ScoSuperAdmin POST
group-remove_etudiant /group/1/remove_etudiant/10 ScoSuperAdmin POST
partition-group-create /partition/1/group/create ScoSuperAdmin POST {"group_name": "NEW_GROUP"}
group-edit /group/2/edit ScoSuperAdmin POST {"group_name": "NEW_GROUP2"}
group-delete /group/2/delete ScoSuperAdmin POST
formsemestre-partition-create /formsemestre/1/partition/create ScoSuperAdmin POST {"partition_name": "PART"}
formsemestre-partitions-order /formsemestre/1/partitions/order ScoSuperAdmin POST [ 1 ]
partition-edit /partition/1/edit ScoSuperAdmin POST {"partition_name":"P2BIS", "numero":3,"bul_show_rank":true,"show_in_lists":false, "groups_editable":true}
partition-remove_etudiant /partition/2/remove_etudiant/10 ScoSuperAdmin POST
partition-groups-order /partition/1/groups/order ScoSuperAdmin POST [ 1 ]
partition-delete /partition/2/delete ScoSuperAdmin POST
user-create /user/create ScoSuperAdmin POST {"user_name": "alain", "dept": null, "nom": "alain", "prenom": "bruno", "active": true }
user-edit /user/10/edit ScoSuperAdmin POST { "dept": "TAPI", "nom": "alain2", "prenom": "bruno2", "active": false }
user-password /user/3/password ScoSuperAdmin POST { "password": "rePlaCemeNT456averylongandcomplicated" }
user-password /user/3/password ScoSuperAdmin POST { "password": "too_simple" }
user-role-add /user/10/role/Observateur/add ScoSuperAdmin POST
user-role-remove /user/10/role/Observateur/remove ScoSuperAdmin POST
role-create /role/create/customRole ScoSuperAdmin POST {"permissions": ["ScoView", "ScoUsersView"]}
role-remove_permission /role/customRole/remove_permission/ScoUsersView ScoSuperAdmin POST
role-add_permission /role/customRole/add_permission/ScoUsersView ScoSuperAdmin POST
role-edit /role/customRole/edit ScoSuperAdmin POST { "name" : "LaveurDeVitres", "permissions" : [ "ScoView" ] }
role-delete /role/customRole/delete ScoSuperAdmin POST
logos /logos ScoSuperAdmin GET
logo /logo/demo ScoSuperAdmin GET
departement-logos /departement/TAPI/logos ScoSuperAdmin GET
departement-logos /departement/id/1/logos ScoSuperAdmin GET
departement-logo /departement/TAPI/logo/demo ScoSuperAdmin GET
departement-logo /departement/id/1/logo/demo ScoSuperAdmin GET
test-pdf /etudiant/nip/11/formsemestre/1/bulletin/pdf ScoView GET
test-pdf /etudiant/nip/11/formsemestre/1/bulletin/pdf ScoView GET
test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/short/pdf ScoView GET
test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin/short/pdf ScoView GET
test-pdf /etudiant/nip/11/formsemestre/1/bulletin/short/pdf ScoView GET
test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/pdf ScoView GET
test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/short ScoView GET
test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin/short ScoView GET
test-pdf /etudiant/nip/11/formsemestre/1/bulletin/short ScoView GET
test-pdf /etudiant/etudid/11/formsemestre/1/bulletin ScoView GET
test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin ScoView GET
test-pdf /etudiant/nip/11/formsemestre/1/bulletin ScoView GET
Can't render this file because it contains an unexpected character in line 12 and column 60.

View File

@ -0,0 +1,99 @@
"entry_name";"url";"permission";"method";"content"
"departements";"/departements";"ScoView";"GET";
"departements-ids";"/departements_ids";"ScoView";"GET";
"departement";"/departement/TAPI";"ScoView";"GET";
"departement";"/departement/id/1";"ScoView";"GET";
"departement-etudiants";"/departement/TAPI/etudiants";"ScoView";"GET";
"departement-etudiants";"/departement/id/1/etudiants";"ScoView";"GET";
"departement-formsemestres_ids";"/departement/TAPI/formsemestres_ids";"ScoView";"GET";
"departement-formsemestres_ids";"/departement/id/1/formsemestres_ids";"ScoView";"GET";
"departement-formsemestres-courants";"/departement/TAPI/formsemestres_courants";"ScoView";"GET";
"departement-formsemestres-courants";"/departement/id/1/formsemestres_courants";"ScoView";"GET";
"departement-create";"/departement/create";"ScoSuperAdmin";"POST";"{""acronym"": ""NEWONE"" , ""visible"": true}"
"departement-edit";"/departement/NEWONE/edit";"ScoSuperAdmin";"POST";"{""visible"": false}"
"departement-delete";"/departement/NEWONE/delete";"ScoSuperAdmin";"POST";
"etudiants-courants";"/etudiants/courants?date_courante=2022-07-20";"ScoView";"GET";
"etudiants-courants";"/etudiants/courants/long?date_courante=2022-07-20";"ScoView";"GET";
"etudiant";"/etudiant/etudid/11";"ScoView";"GET";
"etudiant";"/etudiant/nip/11";"ScoView";"GET";
"etudiant";"/etudiant/ine/INE11";"ScoView";"GET";
"etudiants-clef";"/etudiants/etudid/11";"ScoView";"GET";
"etudiants-clef";"/etudiants/ine/INE11";"ScoView";"GET";
"etudiants-clef";"/etudiants/nip/11";"ScoView";"GET";
"etudiant-formsemestres";"/etudiant/etudid/11/formsemestres";"ScoView";"GET";
"etudiant-formsemestres";"/etudiant/ine/INE11/formsemestres";"ScoView";"GET";
"etudiant_formsemestres";"/etudiant/nip/11/formsemestres";"ScoView";"GET";
"etudiant-formsemestre-bulletin";"/etudiant/etudid/11/formsemestre/1/bulletin";"ScoView";"GET";
"etudiant-formsemestre-bulletin";"/etudiant/ine/INE11/formsemestre/1/bulletin";"ScoView";"GET";
"etudiant-formsemestre-bulletin";"/etudiant/nip/11/formsemestre/1/bulletin";"ScoView";"GET";
"etudiant-formsemestre-bulletin";"/etudiant/nip/11/formsemestre/1/bulletin/short/pdf";"ScoView";"GET";
"etudiant-formsemestre-groups";"/etudiant/etudid/11/formsemestre/1/groups";"ScoView";"GET";
"formations";"/formations";"ScoView";"GET";
"formations_ids";"/formations_ids";"ScoView";"GET";
"formation";"/formation/1";"ScoView";"GET";
"formation-export";"/formation/1/export";"ScoView";"GET";
"formation-export";"/formation/1/export_with_ids";"ScoView";"GET";
"formation-referentiel_competences";"/formation/1/referentiel_competences";"ScoView";"GET";
"moduleimpl";"/moduleimpl/1";"ScoView";"GET";
"formsemestre";"/formsemestre/1";"ScoView";"GET";
"formsemestres-query";"/formsemestres/query?annee_scolaire=2022&etape_apo=A2";"ScoView";"GET";
"formsemestres-query";"/formsemestres/query?nip=11";"ScoView";"GET";
"formsemestre-bulletins";"/formsemestre/1/bulletins";"ScoView";"GET";
"formsemestre-programme";"/formsemestre/1/programme";"ScoView";"GET";
"formsemestre-etudiants";"/formsemestre/1/etudiants";"ScoView";"GET";
"formsemestre-etudiants";"/formsemestre/1/etudiants/long";"ScoView";"GET";
"formsemestre-etudiants-query";"/formsemestre/1/etudiants/query?etat=D";"ScoView";"GET";
"formsemestre-etat_evals";"/formsemestre/1/etat_evals";"ScoView";"GET";
"formsemestre-resultats";"/formsemestre/1/resultats";"ScoView";"GET";
"formsemestre-decisions_jury";"/formsemestre/1/decisions_jury";"ScoView";"GET";
"formsemestre-partitions";"/formsemestre/1/partitions";"ScoView";"GET";
"partition";"/partition/1";"ScoView";"GET";
"group-etudiants";"/group/1/etudiants";"ScoView";"GET";
"group-etudiants-query";"/group/1/etudiants/query?etat=D";"ScoView";"GET";
"moduleimpl-evaluations";"/moduleimpl/1/evaluations";"ScoView";"GET";
"evaluation-notes";"/evaluation/1/notes";"ScoView";"GET";
"user";"/user/1";"ScoView";"GET";
"users-query";"/users/query?starts_with=u_";"ScoView";"GET";
"permissions";"/permissions";"ScoView";"GET";
"roles";"/roles";"ScoView";"GET";
"role";"/role/Observateur";"ScoView";"GET";
"group-set_etudiant";"/group/1/set_etudiant/10";"ScoSuperAdmin";"POST";
"group-remove_etudiant";"/group/1/remove_etudiant/10";"ScoSuperAdmin";"POST";
"partition-group-create";"/partition/1/group/create";"ScoSuperAdmin";"POST";"{""group_name"": ""NEW_GROUP""}"
"group-edit";"/group/2/edit";"ScoSuperAdmin";"POST";"{""group_name"": ""NEW_GROUP2""}"
"group-delete";"/group/2/delete";"ScoSuperAdmin";"POST";
"formsemestre-partition-create";"/formsemestre/1/partition/create";"ScoSuperAdmin";"POST";"{""partition_name"": ""PART""} "
"formsemestre-partitions-order";"/formsemestre/1/partitions/order";"ScoSuperAdmin";"POST";"[ 1 ]"
"partition-edit";"/partition/1/edit";"ScoSuperAdmin";"POST";"{""partition_name"":""P2BIS"", ""numero"":3,""bul_show_rank"":true,""show_in_lists"":false, ""groups_editable"":true}"
"partition-remove_etudiant";"/partition/2/remove_etudiant/10";"ScoSuperAdmin";"POST";
"partition-groups-order";"/partition/1/groups/order";"ScoSuperAdmin";"POST";"[ 1 ]"
"partition-delete";"/partition/2/delete";"ScoSuperAdmin";"POST";
"user-create";"/user/create";"ScoSuperAdmin";"POST";"{""user_name"": ""alain"", ""dept"": null, ""nom"": ""alain"", ""prenom"": ""bruno"", ""active"": true }"
"user-edit";"/user/10/edit";"ScoSuperAdmin";"POST";"{ ""dept"": ""TAPI"", ""nom"": ""alain2"", ""prenom"": ""bruno2"", ""active"": false }"
"user-password";"/user/3/password";"ScoSuperAdmin";"POST";"{ ""password"": ""rePlaCemeNT456averylongandcomplicated"" }"
"user-password";"/user/3/password";"ScoSuperAdmin";"POST";"{ ""password"": ""too_simple"" }"
"user-role-add";"/user/10/role/Observateur/add";"ScoSuperAdmin";"POST";
"user-role-remove";"/user/10/role/Observateur/remove";"ScoSuperAdmin";"POST";
"role-create";"/role/create/customRole";"ScoSuperAdmin";"POST";"{""permissions"": [""ScoView"", ""ScoUsersView""]}"
"role-remove_permission";"/role/customRole/remove_permission/ScoUsersView";"ScoSuperAdmin";"POST";
"role-add_permission";"/role/customRole/add_permission/ScoUsersView";"ScoSuperAdmin";"POST";
"role-edit";"/role/customRole/edit";"ScoSuperAdmin";"POST";"{ ""name"" : ""LaveurDeVitres"", ""permissions"" : [ ""ScoView"" ] }"
"role-delete";"/role/customRole/delete";"ScoSuperAdmin";"POST";
"logos";"/logos";"ScoSuperAdmin";"GET";
"logo";"/logo/B";"ScoSuperAdmin";"GET";
"departement-logos";"/departement/TAPI/logos";"ScoSuperAdmin";"GET";
"departement-logos";"/departement/id/1/logos";"ScoSuperAdmin";"GET";
"departement-logo";"/departement/TAPI/logo/D";"ScoSuperAdmin";"GET";
"departement-logo";"/departement/id/1/logo/D";"ScoSuperAdmin";"GET";
"test-pdf";"/etudiant/nip/11/formsemestre/1/bulletin/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/nip/11/formsemestre/1/bulletin/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/etudid/11/formsemestre/1/bulletin/short/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/ine/INE11/formsemestre/1/bulletin/short/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/nip/11/formsemestre/1/bulletin/short/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/etudid/11/formsemestre/1/bulletin/pdf";"ScoView";"GET";
"test-pdf";"/etudiant/etudid/11/formsemestre/1/bulletin/short";"ScoView";"GET";
"test-pdf";"/etudiant/ine/INE11/formsemestre/1/bulletin/short";"ScoView";"GET";
"test-pdf";"/etudiant/nip/11/formsemestre/1/bulletin/short";"ScoView";"GET";
"test-pdf";"/etudiant/etudid/11/formsemestre/1/bulletin";"ScoView";"GET";
"test-pdf";"/etudiant/ine/INE11/formsemestre/1/bulletin";"ScoView";"GET";
"test-pdf";"/etudiant/nip/11/formsemestre/1/bulletin";"ScoView";"GET";
1 entry_name url permission method content
2 departements /departements ScoView GET
3 departements-ids /departements_ids ScoView GET
4 departement /departement/TAPI ScoView GET
5 departement /departement/id/1 ScoView GET
6 departement-etudiants /departement/TAPI/etudiants ScoView GET
7 departement-etudiants /departement/id/1/etudiants ScoView GET
8 departement-formsemestres_ids /departement/TAPI/formsemestres_ids ScoView GET
9 departement-formsemestres_ids /departement/id/1/formsemestres_ids ScoView GET
10 departement-formsemestres-courants /departement/TAPI/formsemestres_courants ScoView GET
11 departement-formsemestres-courants /departement/id/1/formsemestres_courants ScoView GET
12 departement-create /departement/create ScoSuperAdmin POST {"acronym": "NEWONE" , "visible": true}
13 departement-edit /departement/NEWONE/edit ScoSuperAdmin POST {"visible": false}
14 departement-delete /departement/NEWONE/delete ScoSuperAdmin POST
15 etudiants-courants /etudiants/courants?date_courante=2022-07-20 ScoView GET
16 etudiants-courants /etudiants/courants/long?date_courante=2022-07-20 ScoView GET
17 etudiant /etudiant/etudid/11 ScoView GET
18 etudiant /etudiant/nip/11 ScoView GET
19 etudiant /etudiant/ine/INE11 ScoView GET
20 etudiants-clef /etudiants/etudid/11 ScoView GET
21 etudiants-clef /etudiants/ine/INE11 ScoView GET
22 etudiants-clef /etudiants/nip/11 ScoView GET
23 etudiant-formsemestres /etudiant/etudid/11/formsemestres ScoView GET
24 etudiant-formsemestres /etudiant/ine/INE11/formsemestres ScoView GET
25 etudiant_formsemestres /etudiant/nip/11/formsemestres ScoView GET
26 etudiant-formsemestre-bulletin /etudiant/etudid/11/formsemestre/1/bulletin ScoView GET
27 etudiant-formsemestre-bulletin /etudiant/ine/INE11/formsemestre/1/bulletin ScoView GET
28 etudiant-formsemestre-bulletin /etudiant/nip/11/formsemestre/1/bulletin ScoView GET
29 etudiant-formsemestre-bulletin /etudiant/nip/11/formsemestre/1/bulletin/short/pdf ScoView GET
30 etudiant-formsemestre-groups /etudiant/etudid/11/formsemestre/1/groups ScoView GET
31 formations /formations ScoView GET
32 formations_ids /formations_ids ScoView GET
33 formation /formation/1 ScoView GET
34 formation-export /formation/1/export ScoView GET
35 formation-export /formation/1/export_with_ids ScoView GET
36 formation-referentiel_competences /formation/1/referentiel_competences ScoView GET
37 moduleimpl /moduleimpl/1 ScoView GET
38 formsemestre /formsemestre/1 ScoView GET
39 formsemestres-query /formsemestres/query?annee_scolaire=2022&etape_apo=A2 ScoView GET
40 formsemestres-query /formsemestres/query?nip=11 ScoView GET
41 formsemestre-bulletins /formsemestre/1/bulletins ScoView GET
42 formsemestre-programme /formsemestre/1/programme ScoView GET
43 formsemestre-etudiants /formsemestre/1/etudiants ScoView GET
44 formsemestre-etudiants /formsemestre/1/etudiants/long ScoView GET
45 formsemestre-etudiants-query /formsemestre/1/etudiants/query?etat=D ScoView GET
46 formsemestre-etat_evals /formsemestre/1/etat_evals ScoView GET
47 formsemestre-resultats /formsemestre/1/resultats ScoView GET
48 formsemestre-decisions_jury /formsemestre/1/decisions_jury ScoView GET
49 formsemestre-partitions /formsemestre/1/partitions ScoView GET
50 partition /partition/1 ScoView GET
51 group-etudiants /group/1/etudiants ScoView GET
52 group-etudiants-query /group/1/etudiants/query?etat=D ScoView GET
53 moduleimpl-evaluations /moduleimpl/1/evaluations ScoView GET
54 evaluation-notes /evaluation/1/notes ScoView GET
55 user /user/1 ScoView GET
56 users-query /users/query?starts_with=u_ ScoView GET
57 permissions /permissions ScoView GET
58 roles /roles ScoView GET
59 role /role/Observateur ScoView GET
60 group-set_etudiant /group/1/set_etudiant/10 ScoSuperAdmin POST
61 group-remove_etudiant /group/1/remove_etudiant/10 ScoSuperAdmin POST
62 partition-group-create /partition/1/group/create ScoSuperAdmin POST {"group_name": "NEW_GROUP"}
63 group-edit /group/2/edit ScoSuperAdmin POST {"group_name": "NEW_GROUP2"}
64 group-delete /group/2/delete ScoSuperAdmin POST
65 formsemestre-partition-create /formsemestre/1/partition/create ScoSuperAdmin POST {"partition_name": "PART"}
66 formsemestre-partitions-order /formsemestre/1/partitions/order ScoSuperAdmin POST [ 1 ]
67 partition-edit /partition/1/edit ScoSuperAdmin POST {"partition_name":"P2BIS", "numero":3,"bul_show_rank":true,"show_in_lists":false, "groups_editable":true}
68 partition-remove_etudiant /partition/2/remove_etudiant/10 ScoSuperAdmin POST
69 partition-groups-order /partition/1/groups/order ScoSuperAdmin POST [ 1 ]
70 partition-delete /partition/2/delete ScoSuperAdmin POST
71 user-create /user/create ScoSuperAdmin POST {"user_name": "alain", "dept": null, "nom": "alain", "prenom": "bruno", "active": true }
72 user-edit /user/10/edit ScoSuperAdmin POST { "dept": "TAPI", "nom": "alain2", "prenom": "bruno2", "active": false }
73 user-password /user/3/password ScoSuperAdmin POST { "password": "rePlaCemeNT456averylongandcomplicated" }
74 user-password /user/3/password ScoSuperAdmin POST { "password": "too_simple" }
75 user-role-add /user/10/role/Observateur/add ScoSuperAdmin POST
76 user-role-remove /user/10/role/Observateur/remove ScoSuperAdmin POST
77 role-create /role/create/customRole ScoSuperAdmin POST {"permissions": ["ScoView", "ScoUsersView"]}
78 role-remove_permission /role/customRole/remove_permission/ScoUsersView ScoSuperAdmin POST
79 role-add_permission /role/customRole/add_permission/ScoUsersView ScoSuperAdmin POST
80 role-edit /role/customRole/edit ScoSuperAdmin POST { "name" : "LaveurDeVitres", "permissions" : [ "ScoView" ] }
81 role-delete /role/customRole/delete ScoSuperAdmin POST
82 logos /logos ScoSuperAdmin GET
83 logo /logo/B ScoSuperAdmin GET
84 departement-logos /departement/TAPI/logos ScoSuperAdmin GET
85 departement-logos /departement/id/1/logos ScoSuperAdmin GET
86 departement-logo /departement/TAPI/logo/D ScoSuperAdmin GET
87 departement-logo /departement/id/1/logo/D ScoSuperAdmin GET
88 test-pdf /etudiant/nip/11/formsemestre/1/bulletin/pdf ScoView GET
89 test-pdf /etudiant/nip/11/formsemestre/1/bulletin/pdf ScoView GET
90 test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/short/pdf ScoView GET
91 test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin/short/pdf ScoView GET
92 test-pdf /etudiant/nip/11/formsemestre/1/bulletin/short/pdf ScoView GET
93 test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/pdf ScoView GET
94 test-pdf /etudiant/etudid/11/formsemestre/1/bulletin/short ScoView GET
95 test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin/short ScoView GET
96 test-pdf /etudiant/nip/11/formsemestre/1/bulletin/short ScoView GET
97 test-pdf /etudiant/etudid/11/formsemestre/1/bulletin ScoView GET
98 test-pdf /etudiant/ine/INE11/formsemestre/1/bulletin ScoView GET
99 test-pdf /etudiant/nip/11/formsemestre/1/bulletin ScoView GET