Commit 2b447008 authored by Michael Nauge's avatar Michael Nauge
Browse files

Update nklAPI_Datas.py

ajout de la fonction delete_datas_files (qui semble poser probleme lors des tests, mais je ne comprends paspourquoi)
parent bf9cfce7
......@@ -405,6 +405,18 @@ def post_datas_files(nklTarget, identifier, fileInfos):
"description": "string",
"embargoed": "string"
}
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 metadatas obtenus depuis la reponse json du server
"""
......@@ -449,6 +461,83 @@ def post_datas_files(nklTarget, identifier, fileInfos):
#on retourne l'objet NklResponse avec erreur (de nakala ou de connexion reseau)
return nklR
def delete_datas_files(nklTarget, identifier, fileIdentifier):
"""
Parameters
----------
nklTarget : OBJ
une instance d'un objet NklTarget permettant de choisir nakala_prod ou nakala_test
identifier : STR
un DATA identifier nakala.
fileIdentifier : STR
un SHA1 file identifier de la data.
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 metadatas obtenus depuis la reponse json du server
"""
url = nklTarget.API_URL+"/datas/"+identifier+"​/files​/"+fileIdentifier
print(url)
APIheaders = {}
# on gère le cas où il n'y a pas de API_KEY
# ce qui va poser problème pour le serveur nakala
if nklTarget.apiKey_isEmpty()==False:
APIheaders = {"X-API-KEY": nklTarget.API_KEY_NKL, "accept": "application/json"}
# création d'une instance d'un objet NklResponse à retourner
nklR = NklResponse()
try :
response = requests.delete(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="Fichier supprimé de la donnée"
# Il n'y a pas d'objet json retournée à convertir en dictionnaire python
# on retourne l'objet NklResponse maintenant 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
def get_datas_uploads(nklTarget):
"""
Les fichiers déposés restent dans un espace temporaire le temps qu'ils soient associés à une donnée de Nakala ou soient automatiquement supprimés (toutes les 24 heures)
......
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