30/07/22 - 14h30
parent
7de52cf0f9
commit
927a2514c1
30
class_mgt.py
30
class_mgt.py
|
@ -2,7 +2,7 @@
|
|||
Ce fichier traite tout ce qui est liée à la gestion des formations
|
||||
|
||||
'''
|
||||
|
||||
import pymongo
|
||||
from pymongo import MongoClient
|
||||
import json
|
||||
from bson import ObjectId
|
||||
|
@ -47,7 +47,8 @@ def add_class(diction):
|
|||
# field_list.
|
||||
'''
|
||||
field_list = ['external_code', 'title', 'description', 'trainer', 'institut_formation', 'distantiel', 'presentiel',
|
||||
'price', 'url','duration', 'duration_unit', 'token', 'plus_produit', 'mots_cle','domaine', 'internal_url', 'zone_diffusion']
|
||||
'price', 'url','duration', 'duration_unit', 'token', 'plus_produit', 'mots_cle','domaine',
|
||||
'internal_url', 'zone_diffusion', 'metier']
|
||||
incom_keys = diction.keys()
|
||||
for val in incom_keys:
|
||||
if val not in field_list:
|
||||
|
@ -124,6 +125,12 @@ def add_class(diction):
|
|||
if diction['description']:
|
||||
mydata['description'] = diction['description']
|
||||
|
||||
|
||||
if ("metier" in diction.keys()):
|
||||
if diction['metier']:
|
||||
mydata['metier'] = diction['metier']
|
||||
|
||||
|
||||
if ("trainer" in diction.keys()):
|
||||
if diction['trainer']:
|
||||
mydata['trainer'] = diction['trainer']
|
||||
|
@ -303,7 +310,7 @@ def update_class(diction):
|
|||
'''
|
||||
field_list = ['external_code', 'title', 'description', 'trainer', 'institut_formation', 'distantiel',
|
||||
'presentiel','price', 'url', 'duration', 'token','plus_produit', 'mots_cle',
|
||||
'domaine', 'internal_code', 'internal_url','zone_diffusion']
|
||||
'domaine', 'internal_code', 'internal_url','zone_diffusion', 'metier']
|
||||
|
||||
incom_keys = diction.keys()
|
||||
for val in incom_keys:
|
||||
|
@ -374,6 +381,9 @@ def update_class(diction):
|
|||
if ("trainer" in diction.keys()):
|
||||
mydata['trainer'] = diction['trainer']
|
||||
|
||||
if ("metier" in diction.keys()):
|
||||
mydata['metier'] = diction['metier']
|
||||
|
||||
if ("institut_formation" in diction.keys()):
|
||||
mydata['institut_formation'] = diction['institut_formation']
|
||||
|
||||
|
@ -1422,7 +1432,7 @@ def add_class_mass(file=None, Folder=None, diction=None):
|
|||
# Verification que les noms des colonne sont bien corrects"
|
||||
'''
|
||||
field_list = ['external_code', 'title', 'description', 'trainer', 'institut_formation', 'distantiel', 'presentiel',
|
||||
'price', 'domaine', 'url','duration', 'plus_produit', 'mots_cle', 'zone_diffusion']
|
||||
'price', 'domaine', 'url','duration', 'plus_produit', 'mots_cle', 'zone_diffusion', 'metier']
|
||||
|
||||
total_rows = len(df)
|
||||
|
||||
|
@ -1453,6 +1463,7 @@ def add_class_mass(file=None, Folder=None, diction=None):
|
|||
mydata['presentiel'] = str(df['presentiel'].values[n])
|
||||
mydata['distantiel'] = str(df['distantiel'].values[n])
|
||||
mydata['price'] = str(df['price'].values[n])
|
||||
mydata['metier'] = str(df['metier'].values[n])
|
||||
|
||||
|
||||
'''
|
||||
|
@ -1510,7 +1521,7 @@ def get_class_by_metier(diction):
|
|||
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||
# field_list.
|
||||
'''
|
||||
field_list = ['metier', 'token' 'user_ip', 'user_country_code',
|
||||
field_list = ['metier', 'token','user_ip', 'user_country_code',
|
||||
'user_country_name', 'user_city', 'user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
||||
|
||||
incom_keys = diction.keys()
|
||||
|
@ -1537,9 +1548,9 @@ def get_class_by_metier(diction):
|
|||
my_metier = ""
|
||||
my_token = ""
|
||||
|
||||
if ("internal_url" in diction.keys()):
|
||||
if ("metier" in diction.keys()):
|
||||
if diction['metier']:
|
||||
my_metier = diction['internal_url']
|
||||
my_metier = str(diction['metier']).lower()
|
||||
|
||||
if ("token" in diction.keys()):
|
||||
if diction['token']:
|
||||
|
@ -1550,12 +1561,13 @@ def get_class_by_metier(diction):
|
|||
RetObject = []
|
||||
|
||||
|
||||
|
||||
for retVal in coll_name.find({'valide': '1', 'locked': '0', 'metier': str(my_metier)},
|
||||
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
|
||||
"valide": 0, "locked": 0, "partner_owner_recid": 0, }
|
||||
):
|
||||
).sort([("price", pymongo.ASCENDING), ("date_update", pymongo.DESCENDING), ]):
|
||||
|
||||
print(" retval " + str(retVal))
|
||||
#print(" retval " + str(retVal))
|
||||
|
||||
if ("description" in retVal.keys()):
|
||||
tmp_str = retVal['description']
|
||||
|
|
12
main.py
12
main.py
|
@ -1173,6 +1173,18 @@ def get_class_by_metier():
|
|||
status, result = cm.get_class_by_metier(payload)
|
||||
return jsonify(status=status, message=result)
|
||||
|
||||
|
||||
'''
|
||||
Cette API met à jour les formations en ajoutant les metier
|
||||
'''
|
||||
@app.route('/myclass/api/UpdateMetier/', methods=['GET','POST'])
|
||||
@crossdomain(origin='*')
|
||||
def UpdateMetier():
|
||||
status = mycommon.UpdateMetier()
|
||||
return jsonify(status=status)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(" debut api")
|
||||
context = SSL.Context(SSL.SSLv23_METHOD)
|
||||
|
|
|
@ -1483,3 +1483,37 @@ def CreateInternalUrl(sentence=None):
|
|||
print(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||
return False, ""
|
||||
|
||||
|
||||
|
||||
'''
|
||||
Cette fonction va lire un fichier ou un collection tmp_class_metier(_id, metier) et va mettre à jour les metier
|
||||
'''
|
||||
def UpdateMetier():
|
||||
try:
|
||||
|
||||
myclass_coll = MYSY_GV.dbname["myclass"]
|
||||
myclass_tmp_metier_coll = MYSY_GV.dbname["tmp_class_metier"]
|
||||
my_data = []
|
||||
i = 0
|
||||
for x in myclass_tmp_metier_coll.find():
|
||||
|
||||
mymetier = str(x['metier']).lower()
|
||||
ret_val2 = myclass_coll.find_one_and_update({"_id": ObjectId(str(x['class_id']))},
|
||||
{"$set": {"metier":mymetier }},
|
||||
upsert=True,
|
||||
return_document=ReturnDocument.AFTER
|
||||
)
|
||||
|
||||
|
||||
if ( (ret_val2 is False) or (ret_val2['_id'] is False) ):
|
||||
mycommon.myprint("Impossible de mettre à jour la formation _id =" + str(x['class_id']) )
|
||||
return False
|
||||
i = i+1
|
||||
|
||||
print(str(i)+" Formation (metier) ont été mises à jour")
|
||||
|
||||
return True
|
||||
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
|
Loading…
Reference in New Issue