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

Update nklAPI_Collections.py

ajout fonction post_collections_datas(nklTarget, identifier, datas)
parent c16a0577
......@@ -381,6 +381,66 @@ def get_collections_datas(nklTarget, identifier, page=1, limit=10):
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
def post_collections_datas(nklTarget, identifier, datas):
"""
Ajout d'une liste de données dans une collection
Parameters
nklTarget : OBJ
une instance d'un objet NklTarget permettant de choisir nakala_prod ou nakala_test
identifier : STR
un COLLECTION identifier nakala.
datas : Liste des identifiants des données à ajouter à la collection
ex : [
"10.34847/nkl.12345678",
"10.34847/nkl.fedcba98"
]
"""
url = nklTarget.API_URL+"/collections/"+identifier+"/datas"
APIheaders = {}
# on gère le cas où il n'y a pas de API_KEY ce qui posera problème au server
# mais il nous le fera savoir !
if nklTarget.apiKey_isEmpty()==False:
APIheaders = {"X-API-KEY": nklTarget.API_KEY_NKL,"accept": "application/json", "Content-Type": "application/json"}
# création d'une instance d'un objet NklResponse à retourner
nklR = NklResponse()
try :
response = requests.post(url, data =json.dumps(datas), headers=APIheaders)
# on récupère le code
nklR.code = response.status_code
# 201 le serveur a bien répondu
if response.status_code == 201:
nklR.isSuccess = True
nklR.message="Les données ont été ajoutées à la collection"
# on converti l'objet json retournée en dictionnaire python
nklR.dictVals = json.loads(response.text)
return nklR
else:
dicError = json.loads(response.text)
nklR.message=dicError['message']
except requests.exceptions.RequestException as e:
nklR.code=-1
nklR.message=e
......
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