Commit c16a0577 authored by Michael Nauge's avatar Michael Nauge
Browse files

Update nklAPI_Collections.py

ajout fonction get_collections_datas(nklTarget, identifier, page=1, limit=10)
parent b0853b77
......@@ -309,4 +309,81 @@ def post_collections(nklTarget, data):
#on retourne l'objet NklResponse avec erreur (de nakala ou de connexion reseau)
return nklR
\ No newline at end of file
def get_collections_datas(nklTarget, identifier, page=1, limit=10):
"""
Récupération de la liste paginée des données contenues dans la collection
Parameters
nklTarget : OBJ
une instance d'un objet NklTarget permettant de choisir nakala_prod ou nakala_test
identifier : STR
un COLLECTION identifier nakala.
page : INT
La page souhaitée
limit : INT
Le nombre de résultat par page
Returns
-------
NklResponse : OBJ
une instance d'un objet NklResponse
- en cas de problème reseau ou de message d'erreur du serveur nakala
l'objet NklResponse.isSuccess=False et le détails de l'erreur en version textuel
sera dans NklResponse.message
- en cas de réussite de la requete
l'objet NklResponse.isSuccess=True et
les métadonnées reçu seront dans
NklResponse.dictVals : un dictionnaire contenant les metacollections obtenus depuis la reponse json du server
"""
#​/collections​/{identifier}​/datas
url = nklTarget.API_URL+"/collections/"+identifier+"/datas?page="+str(page)+"&limit="+str(limit)
APIheaders = {}
# on gère le cas où la collection est public
# et qu'il n'y a donc pas besoin de API_KEY
if nklTarget.apiKey_isEmpty()==False:
APIheaders = {"X-API-KEY": nklTarget.API_KEY_NKL}
# création d'une instance d'un objet NklResponse à retourner
nklR = NklResponse()
try :
response = requests.get(url, headers=APIheaders)
# on récupère le code
nklR.code = response.status_code
# 200 le serveur a bien répondu
if response.status_code == 200:
nklR.isSuccess = True
nklR.message="Informations sur la collection"
# on converti l'objet json retournée en dictionnaire python
nklR.dictVals = json.loads(response.text)
# on retourne l'objet NklResponse maintenant entièrement rempli
return nklR
else:
dicError = json.loads(response.text)
nklR.message=dicError['message']
except requests.exceptions.RequestException as e:
nklR.code=-1
nklR.message=e
#on retourne l'objet NklResponse avec erreur (de nakala ou de connexion reseau)
return nklR
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment