13/07/22 - 12h30
parent
a79f80c1a9
commit
7de52cf0f9
92
class_mgt.py
92
class_mgt.py
|
@ -1495,3 +1495,95 @@ def add_class_mass(file=None, Folder=None, diction=None):
|
|||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||
return False, "Impossible d'inserer les formation en masse "
|
||||
|
||||
|
||||
'''
|
||||
Cette fonction retourne les formation par metier
|
||||
- la thématique est defini par un nouveau champ appelé "metier"
|
||||
'''
|
||||
def get_class_by_metier(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 = ['metier', '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]) + " - Creation partner account : Le champ '" + val + "' n'existe pas, Creation formation annulée")
|
||||
return False, " Impossible de recuperer 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', 'metier']
|
||||
|
||||
for val in field_list_obligatoire:
|
||||
if val not in diction:
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
|
||||
return False, " Impossible de recuperer la formation"
|
||||
|
||||
# recuperation des paramettre
|
||||
mydata = {}
|
||||
my_metier = ""
|
||||
my_token = ""
|
||||
|
||||
if ("internal_url" in diction.keys()):
|
||||
if diction['metier']:
|
||||
my_metier = diction['internal_url']
|
||||
|
||||
if ("token" in diction.keys()):
|
||||
if diction['token']:
|
||||
my_token = diction['token']
|
||||
|
||||
coll_name = MYSY_GV.dbname['myclass']
|
||||
|
||||
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, }
|
||||
):
|
||||
|
||||
print(" retval " + str(retVal))
|
||||
|
||||
if ("description" in retVal.keys()):
|
||||
tmp_str = retVal['description']
|
||||
if (len(retVal['description']) > MYSY_GV.MAX_CARACT_DETAIL):
|
||||
retVal['description'] = tmp_str[:MYSY_GV.MAX_CARACT_DETAIL] + " ..."
|
||||
|
||||
if ("objectif" in retVal.keys()):
|
||||
tmp_str = retVal['objectif']
|
||||
if (len(retVal['objectif']) > MYSY_GV.MAX_CARACT_DETAIL):
|
||||
retVal['objectif'] = tmp_str[:MYSY_GV.MAX_CARACT_DETAIL] + " ..."
|
||||
|
||||
if ("programme" in retVal.keys()):
|
||||
tmp_str = retVal['programme']
|
||||
if (len(retVal['programme']) > MYSY_GV.MAX_CARACT_DETAIL):
|
||||
retVal['programme'] = tmp_str[:MYSY_GV.MAX_CARACT_DETAIL] + " ..."
|
||||
|
||||
if ("pedagogie" in retVal.keys()):
|
||||
tmp_str = retVal['pedagogie']
|
||||
if (len(retVal['pedagogie']) > MYSY_GV.MAX_CARACT_DETAIL):
|
||||
retVal['pedagogie'] = tmp_str[:MYSY_GV.MAX_CARACT_DETAIL] + " ..."
|
||||
|
||||
# mycommon.myprint(str(retVal))
|
||||
user = retVal
|
||||
RetObject.append(JSONEncoder().encode(user))
|
||||
|
||||
return True, RetObject
|
||||
|
||||
except Exception as e:
|
||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||
return False, "Impossible de recuperer les formations par metier"
|
|
@ -1,94 +1,10 @@
|
|||
,index,mots,occurence,moyenne,id_formation,source_field
|
||||
0,0,savoir,1,0.03,"
|
||||
0,0,startup,1,0.33,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
1,1,acteur,1,0.03,"
|
||||
-2",title
|
||||
1,1,fond,1,0.33,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
2,2,reussir,1,0.03,"
|
||||
-2",title
|
||||
2,2,lever,1,0.33,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
3,3,interlocuteur,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
4,4,fond,3,0.09,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
5,5,cour,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
6,6,entrepreneurial,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
7,7,preparer,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
8,8,levee,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
9,9,post,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
10,10,code,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
11,11,indispensable,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
12,12,facile,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
13,13,comment,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
14,14,familiariser,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
15,15,certain,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
16,16,attendent,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
17,17,phase,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
18,18,projet,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
19,19,startup,2,0.06,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
20,20,vocabulaire,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
21,21,convaincre,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
22,22,lorsque,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
23,23,toujour,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
24,24,souvent,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
25,25,investissement,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
26,26,lever,2,0.06,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
27,27,maitriser,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
28,28,aider,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
29,29,but,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
30,30,technique,1,0.03,"
|
||||
lever-des-fonds-pour-ma-startup
|
||||
-3",default
|
||||
-2",title
|
||||
|
|
|
|
@ -1,34 +1,6 @@
|
|||
mots ... source_field
|
||||
0 savoir ... default
|
||||
1 acteur ... default
|
||||
2 reussir ... default
|
||||
3 interlocuteur ... default
|
||||
4 fond ... default
|
||||
5 cour ... default
|
||||
6 entrepreneurial ... default
|
||||
7 preparer ... default
|
||||
8 levee ... default
|
||||
9 post ... default
|
||||
10 code ... default
|
||||
11 indispensable ... default
|
||||
12 facile ... default
|
||||
13 comment ... default
|
||||
14 familiariser ... default
|
||||
15 certain ... default
|
||||
16 attendent ... default
|
||||
17 phase ... default
|
||||
18 projet ... default
|
||||
19 startup ... default
|
||||
20 vocabulaire ... default
|
||||
21 convaincre ... default
|
||||
22 lorsque ... default
|
||||
23 toujour ... default
|
||||
24 souvent ... default
|
||||
25 investissement ... default
|
||||
26 lever ... default
|
||||
27 maitriser ... default
|
||||
28 aider ... default
|
||||
29 but ... default
|
||||
30 technique ... default
|
||||
mots occurence ... id_formation source_field
|
||||
0 startup 1 ... \nlever-des-fonds-pour-ma-startup\n-2 title
|
||||
1 fond 1 ... \nlever-des-fonds-pour-ma-startup\n-2 title
|
||||
2 lever 1 ... \nlever-des-fonds-pour-ma-startup\n-2 title
|
||||
|
||||
[31 rows x 5 columns]
|
||||
[3 rows x 5 columns]
|
160
email_mgt.py
160
email_mgt.py
|
@ -40,9 +40,8 @@ def send_user_account_mail(message, account_mail):
|
|||
msg['To'] = str(account_mail)
|
||||
|
||||
|
||||
|
||||
html = '''
|
||||
|
||||
html = '''
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
|
@ -50,16 +49,14 @@ def send_user_account_mail(message, account_mail):
|
|||
<h2 style="font-family:Georgia, 'Times New Roman', Times, serif;color#454349;">
|
||||
<img src="http://88.170.110.220/img/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo" width="110px" height="70px"/> </h2>
|
||||
</div>
|
||||
<div style="padding:20px 0px;text-align:center;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:2rem;">
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:2rem;">
|
||||
<div style="width:100%">
|
||||
<div style="text-align:center;">
|
||||
<div style="text-align:left;">
|
||||
Bonjour
|
||||
<div style="padding:20px 0px;text-align:center;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:1.2rem;">
|
||||
|
||||
Votre adresse e-mail a bien été enregistrée sur le site <font color="green">MySy-Training</font>. <br>
|
||||
Pour valider votre compte, veuillez cliquer sur le lien ci-dessous :
|
||||
<br/>
|
||||
<br/>
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:1.2rem;">
|
||||
Vous avez fait une demande de création de profil sur<font color="green"> mysy-training.com.</font> <br>
|
||||
Pour activer votre compte, veuillez cliquer sur le lien ci-dessous :
|
||||
<br/><br/>
|
||||
<div style="background-color:#1962AB;width:20%;text-align:center;margin-left:auto; margin-right:auto;">
|
||||
<b> <a href="https://apimysy.iexercice.com/myclass/api/valide_user_account/{objId}" target="_blank" style="color: white;">
|
||||
CLIQUEZ ICI
|
||||
|
@ -67,10 +64,30 @@ def send_user_account_mail(message, account_mail):
|
|||
</a>
|
||||
</b>
|
||||
</div>
|
||||
</font>
|
||||
<br/>
|
||||
<b>
|
||||
|
||||
|
||||
|
||||
<br/>
|
||||
NB :
|
||||
<ul>
|
||||
<li>Si vous n'arrivez pas jusqu'au bout de la procédure d'inscription, il faudra recommencer l'inscription depuis le début (le lien d’activation n'est valable que pour la procédure en cours). </li>
|
||||
<li> Si vous n'avez pas demandé l'ouverture d'un compte MYSY Training veuillez ignorer cet e-mail.</li>
|
||||
<li> Si vous avez des questions ou des commentaires, contactez-nous sur les plateformes suivantes :
|
||||
<a href="https://www.facebook.com/MySy-Training-114572794561371/" target="_blank" >
|
||||
Facebook
|
||||
</a>
|
||||
|
||||
<a href="https://www.linkedin.com/" target="_blank" >
|
||||
LinkedIn
|
||||
</a>
|
||||
|
||||
<a href="https://www.linkedin.com/in/mysy-training-96b53a237/" target="_blank" >
|
||||
Twitter
|
||||
</a>
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
|
||||
<p>Cordialement<br>
|
||||
MySy Training Technology<br>
|
||||
|
@ -79,12 +96,16 @@ def send_user_account_mail(message, account_mail):
|
|||
</p>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:0.9rem;">
|
||||
|
||||
Ce mail a été envoyé à : {destinataire}"
|
||||
Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris.
|
||||
Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
'''.format(code=tomorrow_day, objId=message)
|
||||
</html>'''.format(code=tomorrow_day, objId=message, destinataire=account_mail)
|
||||
|
||||
|
||||
html_mime = MIMEText(html, 'html')
|
||||
|
@ -135,8 +156,7 @@ def send_user_thks_mail(message, account_mail):
|
|||
msg['To'] = str(account_mail)
|
||||
|
||||
html = '''
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
@ -147,15 +167,32 @@ def send_user_thks_mail(message, account_mail):
|
|||
<h2 style="font-family:Georgia, 'Times New Roman', Times, serif;color#454349;">
|
||||
<img src="http://88.170.110.220/img/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo" width="110px" height="70px"/> </h2>
|
||||
</div>
|
||||
<div style="padding:20px 0px;text-align:center;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:2rem;">
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:2rem;">
|
||||
<div style="width:100%">
|
||||
<div style="text-align:center;" class="p">
|
||||
<div style="text-align:left;" class="p">
|
||||
Bonjour
|
||||
<div style="padding:20px 0px;text-align:center;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:1.2rem;">
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:1.2rem;">
|
||||
|
||||
Vous venez d'activer votre compte sur le moteur de recherche <font color="green">MySy-Training</font>. <br>
|
||||
Merci à vous.
|
||||
le processus de création de compte sur mysy-training.com s'est déroulé avec succès.<br/>
|
||||
<p>
|
||||
Pour accéder aux services proposés par MYSY Training, vous pouvez vous connecter en utilisant votre adresse mail et votre mot de passe.<br/>
|
||||
En cas de perte de votre mot de passe, veuillez utiliser la fonction « MOT DE PASSE OUBLIE ? » sur la page de connexion et les informations requises seront envoyées à l'adresse électronique que vous avez indiquée lors de l'inscription.<br/>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
MySy Training Technology est un moteur de recherche exclusivement dédié à la formation. <br/>
|
||||
Il met le profil de l’utilisateur au cœur du système pour trouver la formation la plus adaptée à sa situation. <br/>
|
||||
Des algorithmes spécifiquement conçus pour le monde de la formation nous permettent d’adresser un large éventail de profils. <br/>
|
||||
Quel que soit votre situation, que vous soyez malvoyant, mal entendant, tout simplement à la recherche de la formation qui prend en compte vos besoins, le moteur de recherche MySy-T est là pour vous.<br/>
|
||||
</p>
|
||||
Cordialement.
|
||||
|
||||
<br/>
|
||||
MySy Training Technology<br/>
|
||||
Contact : +337 69 20 39 45<br/>
|
||||
Email : contact@mysy-training.com<br/>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
@ -164,15 +201,15 @@ def send_user_thks_mail(message, account_mail):
|
|||
|
||||
<b> Suivez l'actualité des formations depuis nos medias : <br/>
|
||||
|
||||
<a href="https://apimysy.iexercice.com/myclass/api/valide_user_account/{objId}" target="_blank" >
|
||||
<a href="https://www.facebook.com/MySy-Training-114572794561371/" target="_blank" >
|
||||
Facebook
|
||||
</a>
|
||||
|
||||
<a href="https://apimysy.iexercice.com/myclass/api/valide_user_account/{objId}" target="_blank" >
|
||||
<a href="https://www.linkedin.com/" target="_blank" >
|
||||
LinkedIn
|
||||
</a>
|
||||
|
||||
<a href="https://apimysy.iexercice.com/myclass/api/valide_user_account/{objId}" target="_blank" >
|
||||
<a href="https://www.linkedin.com/in/mysy-training-96b53a237/" target="_blank" >
|
||||
Twitter
|
||||
</a>
|
||||
|
||||
|
@ -186,67 +223,16 @@ def send_user_thks_mail(message, account_mail):
|
|||
|
||||
</div>
|
||||
|
||||
<div class='Box_div'>
|
||||
<div class='Container_div'>
|
||||
<div class='Row_Div'>
|
||||
<div class='Column_div'>
|
||||
<div class='Heading_p'>MySy Training Technology</div>
|
||||
<a href="/QuiSommesNous/#desc" class='FooterLink_a'>À propos de nous</a>
|
||||
<a href="/QuiSommesNous/#vision" class='FooterLink_a'>Notre vision</a>
|
||||
<a href="/ContactezNous" class='FooterLink_a'>Nous contacter</a>
|
||||
</div>
|
||||
<div style="padding:20px 0px;text-align:left;font-family:Georgia, 'Times New Roman', Times, serif;color#454349;font-size:0.9rem;">
|
||||
|
||||
<div class='Column_div'>
|
||||
<div class='Heading_p'>Contact Us</div>
|
||||
<a href="#" class='FooterLink_a'>Paris</a>
|
||||
<a href="#" class='FooterLink_a'>Geneve</a>
|
||||
<a href="#" class='FooterLink_a'>Bruxelles</a>
|
||||
</div>
|
||||
Ce mail a été envoyé à : {destinataire}"
|
||||
Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris.
|
||||
Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com.
|
||||
</div>
|
||||
|
||||
|
||||
<div class='Column_div'>
|
||||
<div class='Heading_p'>Social Media</div>
|
||||
<a href="https://www.facebook.com/profile.php?id=100080411044908" class='FooterLink_a'>
|
||||
<i class="fab fa-facebook-f">
|
||||
<span style={{ marginLeft: "10px" }}>
|
||||
Facebook
|
||||
</span>
|
||||
</i>
|
||||
</a>
|
||||
<a href="https://www.linkedin.com/in/mysy-training-96b53a237/" class='FooterLink_a'>
|
||||
<i class="fab fa-instagram">
|
||||
<span style={{ marginLeft: "10px" }}>
|
||||
LinkedIn
|
||||
</span>
|
||||
</i>
|
||||
</a>
|
||||
<a href="https://twitter.com/mysy_training" class='FooterLink_a'>
|
||||
<i class="fab fa-twitter">
|
||||
<span style={{ marginLeft: "10px" }}>
|
||||
Twitter
|
||||
</span>
|
||||
</i>
|
||||
</a>
|
||||
<a href="https://www.youtube.com/" class='FooterLink_a'>
|
||||
<i class="fab fa-youtube">
|
||||
<span style={{ marginLeft: "10px" }}>
|
||||
Youtube
|
||||
</span>
|
||||
</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<hr />
|
||||
<div style="font-size:0.5rem;">
|
||||
© 2022 Mysy Training Technology. Tous droits réservés. MySy Training Technology est une marque déposée.
|
||||
Mentions légales.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
'''.format(code=tomorrow_day, objId=message)
|
||||
</body>
|
||||
</html>'''.format(code=tomorrow_day, objId=message, destinataire=account_mail)
|
||||
|
||||
html_mime = MIMEText(html, 'html')
|
||||
|
||||
|
|
12
main.py
12
main.py
|
@ -1161,6 +1161,18 @@ def clean_internal_url():
|
|||
|
||||
|
||||
|
||||
'''
|
||||
Cette API retourne les formations par metier
|
||||
'''
|
||||
@app.route('/myclass/api/get_class_by_metier/', methods=['GET','POST'])
|
||||
@crossdomain(origin='*')
|
||||
def get_class_by_metier():
|
||||
# On recupere le corps (payload) de la requete
|
||||
payload = request.form.to_dict()
|
||||
print(" ### payload = ", payload)
|
||||
status, result = cm.get_class_by_metier(payload)
|
||||
return jsonify(status=status, message=result)
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(" debut api")
|
||||
context = SSL.Context(SSL.SSLv23_METHOD)
|
||||
|
|
61
wrapper.py
61
wrapper.py
|
@ -342,6 +342,7 @@ def get_training_in_user_zone(diction):
|
|||
|
||||
|
||||
|
||||
|
||||
'''
|
||||
Cette fonction recherche les formations correspondant à un text
|
||||
IMPORTANT : Dans la recherche par tips, on fait du && et non du ou.
|
||||
|
@ -448,7 +449,6 @@ def recherche_text_simple(diction):
|
|||
print(" CLEANED search_text = "+str(cleaned_search_text))
|
||||
|
||||
|
||||
|
||||
regexp = r"[\w\.-]+:\"[\w\s]*\""
|
||||
tips = re.findall(regexp, str(cleaned_search_text), re.MULTILINE)
|
||||
nb_tips = len(tips)
|
||||
|
@ -495,8 +495,6 @@ def recherche_text_simple(diction):
|
|||
|
||||
coll_name = MYSY_GV.dbname['myclass']
|
||||
|
||||
|
||||
|
||||
'''
|
||||
A present mise à jour de la table "user_recherche" avec les resultats trouvés
|
||||
'''
|
||||
|
@ -523,9 +521,11 @@ def recherche_text_simple(diction):
|
|||
la valeur nb_result permettra de savoir si la requete a donnée un resultat.
|
||||
si ce n'est pas le cas, il faudra à la fin enregistrer la requete avec un result a vide'''
|
||||
nb_result = 0
|
||||
|
||||
for x in coll_name.find({"external_code": {"$in": final_message2}},
|
||||
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0,
|
||||
"indexed_title": 0, "valide": 0, "locked": 0, "partner_owner_recid": 0, }):
|
||||
"indexed_title": 0, "valide": 0, "locked": 0, "partner_owner_recid": 0, }).\
|
||||
sort([("price", pymongo.ASCENDING), ("date_update", pymongo.DESCENDING), ]):
|
||||
|
||||
nb_result = nb_result +1
|
||||
my_recid = {}
|
||||
|
@ -596,40 +596,39 @@ def recherche_text_simple(diction):
|
|||
nb_result = 0
|
||||
insertObject = []
|
||||
|
||||
for val in tab_training:
|
||||
for x in coll_name.find( {"external_code": str(val) },
|
||||
{"_id": 0, "indexed": 0, "indexed_desc": 0,
|
||||
"indexed_obj": 0, "indexed_title": 0, "valide": 0,
|
||||
"locked": 0, "partner_owner_recid": 0, }):
|
||||
for x in coll_name.find({"external_code":{"$in":tab_training}},
|
||||
{"_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), ]):
|
||||
|
||||
nb_result = nb_result + 1
|
||||
my_recid = {}
|
||||
my_recid['user_rec_id'] = str(user_recid)
|
||||
mydict_combined = {**diction, **x, **my_recid}
|
||||
mydict_combined['date_update'] = str(datetime.now())
|
||||
mydict_combined['type_view'] = "summary"
|
||||
nb_result = nb_result + 1
|
||||
my_recid = {}
|
||||
my_recid['user_rec_id'] = str(user_recid)
|
||||
mydict_combined = {**diction, **x, **my_recid}
|
||||
mydict_combined['date_update'] = str(datetime.now())
|
||||
mydict_combined['type_view'] = "summary"
|
||||
|
||||
if ("_id" in mydict_combined.keys()):
|
||||
mydict_combined['class_id'] = mydict_combined.pop('_id')
|
||||
if ("_id" in mydict_combined.keys()):
|
||||
mydict_combined['class_id'] = mydict_combined.pop('_id')
|
||||
|
||||
|
||||
'''
|
||||
Statistique : Insertion du recherche - resultat '''
|
||||
ret_val_tmp = coll_search_result.insert_one(mydict_combined)
|
||||
if (ret_val_tmp is False):
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de mettre à jour la table des resultat"
|
||||
" d'une recherche de formation. Voir _id = ")
|
||||
return False, "La recheche est impossible "
|
||||
'''
|
||||
Statistique : Insertion du recherche - resultat '''
|
||||
ret_val_tmp = coll_search_result.insert_one(mydict_combined)
|
||||
if (ret_val_tmp is False):
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de mettre à jour la table des resultat"
|
||||
" d'une recherche de formation. Voir _id = ")
|
||||
return False, "La recheche est impossible "
|
||||
|
||||
user = x
|
||||
user = x
|
||||
|
||||
val = mycommon.clean_emoji(str(x['description']))
|
||||
val = mycommon.clean_emoji(str(x['description']))
|
||||
|
||||
if (len(x['description']) > MYSY_GV.MAX_CARACT):
|
||||
x['description'] = val[:MYSY_GV.MAX_CARACT] + " ..."
|
||||
else:
|
||||
x['description'] = val[:MYSY_GV.MAX_CARACT]
|
||||
insertObject.append(JSONEncoder().encode(user))
|
||||
if (len(x['description']) > MYSY_GV.MAX_CARACT):
|
||||
x['description'] = val[:MYSY_GV.MAX_CARACT] + " ..."
|
||||
else:
|
||||
x['description'] = val[:MYSY_GV.MAX_CARACT]
|
||||
insertObject.append(JSONEncoder().encode(user))
|
||||
|
||||
'''
|
||||
/!\ Important : Recuperation des elements de la recherche etendue
|
||||
|
|
Loading…
Reference in New Issue