Bon en attendant que j'ai le temps de mettre proprement ça sous forme de package Python, voici les sources de mon client d'API en python 3
edit: En attendant de le finaliser, il est sur github
Il nécessite request
en dépendance (pip install requests
).
En attendant une doc, voici en quelques lignes comment l'utiliser pour récupérer toutes les infos des membres d'un coup et enregistrer ça dans un CSV (avec pandas
).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | from zds import Zds
API_URL = "http://127.0.0.1:8000/"
CLIENT_ID = "AG=L_GCCqpaWQC8wIuGHrESln7TathF.6zGR-_;x"
CLIENT_SECRET = "UUI8A@8wz9Sgptwm5WKwJ78IQQhqtp9Vor=T-@YmxNcqtmrLKV@-zmntQ90-YXum=4yNGV?r8x5I_dMYWGw1y6@qw3dxou9R2WT.sngI;6E55EXKR.LxhW.qwZ9:egPZ"
USERNAME="admin"
PSWD="admin"
OUT_FILE = "out.csv"
REMOVE_MAIL=True
import pandas as pd
if __name__ == "__main__":
zds = Zds(api_url=API_URL,
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET)
zds.connection(USERNAME, PSWD)
df = pd.DataFrame([m.as_dict for m in zds.members])
if REMOVE_MAIL:
df = df.drop("email", axis=1)
df.to_csv(OUT_FILE, index_label="id")
|
Et pour vous permettre de jouer avec les données, sans faire souffrir l'API et le site, voici le résultat appliqué sur le site (sans les email) : Dump user
edit2: Pour info, voila ce que j'ai dans ma todo list a finir pour que je considère mon client a peut pret opérationnel pour une premiere version :
- Permettre de bannir/débannir
- Permettre de mettre en LS/enlever le LS
- Permettre de récupérer directement les infos sur soi quand on est connecté
- Compléter la doc + la générer
- Ajouter des tests