17/04/22 - 16h30
parent
5f46a92ee8
commit
64822da525
|
@ -42,6 +42,7 @@ La taille maximal d'un champs à retourner.
|
||||||
Au dela de 300 caractère, le système rame
|
Au dela de 300 caractère, le système rame
|
||||||
'''
|
'''
|
||||||
MAX_CARACT = 300
|
MAX_CARACT = 300
|
||||||
|
MAX_CARACT_DEDUIT = 50
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -622,3 +623,71 @@ def store_recherche_article_avis(diction, user_recid=""):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
''''
|
||||||
|
Cette fonction retourne la liste
|
||||||
|
des articles/avis à la une'''
|
||||||
|
def get_article_avis_alaune(diction):
|
||||||
|
try:
|
||||||
|
'''
|
||||||
|
# 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.
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
|
||||||
|
'user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
||||||
|
|
||||||
|
incom_keys = diction.keys()
|
||||||
|
for val in incom_keys:
|
||||||
|
if val not in field_list:
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas, recherche annulée")
|
||||||
|
return False, " Le champ '" + val + "' n'existe pas, recherche annulée"
|
||||||
|
|
||||||
|
'''
|
||||||
|
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']
|
||||||
|
|
||||||
|
for val in field_list_obligatoire:
|
||||||
|
if val not in diction:
|
||||||
|
mycommon.myprint(" : La valeur '" + val + "' n'est pas presente dans liste ")
|
||||||
|
return False, " : La valeur '" + val + "' n'est pas presente dans liste ",
|
||||||
|
|
||||||
|
|
||||||
|
coll_name = dbname['articles_avis']
|
||||||
|
insertObject = []
|
||||||
|
|
||||||
|
for x in coll_name.find({'valide': '1', 'locked': '0', 'isalaune': '1'},
|
||||||
|
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "isalaune": 0,
|
||||||
|
"valide": 0, "locked": 0, "url_formation": 0, }).sort(
|
||||||
|
[("date_avis", pymongo.ASCENDING), ("title_formation", pymongo.ASCENDING)]):
|
||||||
|
|
||||||
|
val = x['qualite']
|
||||||
|
if (len(x['qualite']) > MAX_CARACT_DEDUIT):
|
||||||
|
x['qualite'] = val[:MAX_CARACT_DEDUIT] + " ..."
|
||||||
|
|
||||||
|
else:
|
||||||
|
x['qualite'] = val[:MAX_CARACT_DEDUIT]
|
||||||
|
|
||||||
|
val = x['avis']
|
||||||
|
if (len(x['avis']) > MAX_CARACT_DEDUIT):
|
||||||
|
x['avis'] = val[:MAX_CARACT_DEDUIT] + " ..."
|
||||||
|
|
||||||
|
else:
|
||||||
|
x['avis'] = val[:MAX_CARACT_DEDUIT]
|
||||||
|
|
||||||
|
user = x
|
||||||
|
insertObject.append(JSONEncoder().encode(user))
|
||||||
|
|
||||||
|
print(" getObject = ", str(insertObject))
|
||||||
|
return True, insertObject
|
||||||
|
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
||||||
|
return False, "Impossible de recuperer les articles à la Une"
|
13
main.py
13
main.py
|
@ -905,6 +905,19 @@ def recherche_articles_avis():
|
||||||
return jsonify(status=status, message=result)
|
return jsonify(status=status, message=result)
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Cette API retourne les articles et avis à la Une'''
|
||||||
|
@app.route('/myclass/api/get_article_avis_alaune/', methods=['GET','POST'])
|
||||||
|
@crossdomain(origin='*')
|
||||||
|
def get_article_avis_alaune():
|
||||||
|
# On recupere le corps (payload) de la requete
|
||||||
|
payload = request.form.to_dict()
|
||||||
|
print(" ### payload = ", payload)
|
||||||
|
status, result = aa.get_article_avis_alaune(payload)
|
||||||
|
return jsonify(status=status, message=result)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print(" debut api")
|
print(" debut api")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue