20/09/22 - 17h30

master
ChérifBALDE 2022-09-20 17:28:22 +02:00 committed by cherif
parent b70e6a74f2
commit 79c0e3de0c
3 changed files with 108 additions and 2 deletions

View File

@ -130,7 +130,7 @@ HELP_WORD_QUERY_LIMIT = 3
'''
Les formats d'image accepté
'''
IMG_FORMAT=['jpg', 'jpeg', 'png', 'jpe', 'webp']
IMG_FORMAT=['jpg', 'jpeg', 'png', 'jpe', 'webp', 'gif']

16
main.py
View File

@ -1495,10 +1495,24 @@ Cette API recuperer l'image de profil d'une formation
def getRecodedClassImage():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### payload = ",payload)
print(" ### getRecodedClassImage payload = ",payload)
status, myimg= mycommon.getRecodedClassImage(payload)
return jsonify(status=status, message=myimg)
"""
Cette API supprimer une l'image de profil d'une formation
"""
@app.route('/myclass/api/DeleteRecodedClassImage/', methods=['POST','GET'])
@crossdomain(origin='*')
def DeleteRecodedClassImage():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### DeleteRecodedClassImage payload = ",payload)
status, message= mycommon.DeleteRecodedClassImage(payload)
return jsonify(status=status, message=message)
"""
Cette API de Recuperation d'une image de profils d'une formation pour le mode non connecté. c'est a dire depuis le front

View File

@ -1653,6 +1653,98 @@ def getRecodedClassImage(diction=None):
'''
Suppression d'une image de profils d'une formation
'''
def DeleteRecodedClassImage(diction=None):
try:
# Dictionnaire des champs utilisables
field_list = ['token', 'type', 'class_external_code']
incom_keys = diction.keys()
'''
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
# field_list.
'''
for val in incom_keys:
if str(val).lower() not in str(field_list).lower():
myprint(
str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas accepté dans cette API")
return False, "Impossible de supprimer le logo de la formation"
'''
Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
On controle que les champs obligatoires sont presents dans la liste
'''
field_list_obligatoire = ['token','type','class_external_code']
for val in field_list_obligatoire:
if str(val).lower() not in diction:
myprint(
str(inspect.stack()[0][3]) + " La valeur '" + val + "' n'est pas presente dans liste des champs")
return False, "Impossible de supprimer le logo de la formation"
mydata = {}
mytoken = ""
# recuperation des paramettre
if ("token" in diction.keys()):
if diction['token']:
mytoken = diction['token']
mytype = ""
if ("type" in diction.keys()):
if diction['type']:
mytype = diction['type']
myclassexternalcode = ""
if ("class_external_code" in diction.keys()):
if diction['class_external_code']:
myclassexternalcode = diction['class_external_code']
'''
Verification de la validité du token et recuperation du recid du user
'''
retval = check_user_validity("", str(mytoken))
if retval is False:
myprint(str(inspect.stack()[0][3]) + " - Le token n'est pas valide")
return False, "Impossible de supprimer le logo de la formation"
if (mytype == "partner"):
user_recid = get_parnter_recid_from_token(str(mytoken))
if user_recid is False:
myprint(str(inspect.stack()[0][3]) + " - Impossible de recuperer le recid du user")
return False, " Les informations d'identification sont incorrectes"
else:
myprint(str(inspect.stack()[0][3]) + " - l'API est incorrecte. le type n'est pas renseingé")
return False, " Les informations d'identification sont incorrectes"
myuserrecid = user_recid
coll_name = MYSY_GV.dbname['image_ch']
myquery = {'recid':myuserrecid, "type":"profil_class", "class_external_code":str(myclassexternalcode)}
delete_row = coll_name.delete_many(myquery)
myprint(str(inspect.stack()[0][3]) + "- "+str(delete_row.deleted_count)+" image logo supprimée(s) pour la formation class_external_code = "+str(myclassexternalcode))
return True, str(delete_row.deleted_count)+" supprimée(s)"
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
print(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
return False, "Impossible de supprimer le logo de la formation"
'''
Recuperation d'une image de profils d'une formation pour le mode non connecté. c'est a dire depuis le front
'''