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
|
||||
'''
|
||||
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)
|
||||
|
||||
|
||||
'''
|
||||
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__':
|
||||
print(" debut api")
|
||||
|
||||
|
|
Loading…
Reference in New Issue