From 077f0da37c207457b4748fb00d77b2f0c48b4680 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ch=C3=A9rifBALDE?=
Date: Thu, 9 Jun 2022 14:56:33 +0200
Subject: [PATCH] 08/06/22 - 14h30
---
GlobalVariable.py | 2 +-
data_indexees.csv | 167 ++++++++++++++++++------------
ela_output_test_file_pandas_2.txt | 26 ++---
email_mgt.py | 42 ++++----
main.py | 13 +++
prj_common.py | 39 +++++++
6 files changed, 189 insertions(+), 100 deletions(-)
diff --git a/GlobalVariable.py b/GlobalVariable.py
index 0508ad4..e2191a1 100644
--- a/GlobalVariable.py
+++ b/GlobalVariable.py
@@ -97,7 +97,7 @@ QUERY_LIMIT_ROW = 50
'''
Cette variable definit le nombre max
retour à faire sur page d'acceuil '''
-MAINPAGE_QUERY_LIMIT_ROW = 500
+MAINPAGE_QUERY_LIMIT_ROW = 110
'''
diff --git a/data_indexees.csv b/data_indexees.csv
index ea23ee8..52c4cf3 100644
--- a/data_indexees.csv
+++ b/data_indexees.csv
@@ -1,65 +1,104 @@
,index,mots,occurence,moyenne,id_formation,source_field
-0,0,optimiser,1,0.01,9065,default
-1,1,objectif,1,0.01,9065,default
-2,2,reassurance,1,0.01,9065,default
-3,3,mobile,1,0.01,9065,default
-4,4,moteur,1,0.01,9065,default
-5,5,fidelisation,1,0.01,9065,default
-6,6,accueil,1,0.01,9065,default
-7,7,commerciale,1,0.01,9065,default
-8,8,tunnel,1,0.01,9065,default
-9,9,produit,1,0.01,9065,default
-10,10,marchand,1,0.01,9065,default
-11,11,denouer,1,0.01,9065,default
-12,12,commande,1,0.01,9065,default
-13,13,ligne,3,0.04,9065,default
-14,14,e,4,0.05,9065,default
-15,15,moyen,1,0.01,9065,default
-16,16,different,1,0.01,9065,default
-17,17,sell,2,0.03,9065,default
-18,18,vitrine,1,0.01,9065,default
-19,19,personnalisation,1,0.01,9065,default
-20,20,renforcement,1,0.01,9065,default
-21,21,site,2,0.03,9065,default
-22,22,suivre,1,0.01,9065,default
-23,23,semaine,2,0.03,9065,default
-24,24,friction,1,0.01,9065,default
-25,25,autodiagnostic,1,0.01,9065,default
-26,26,pratique,1,0.01,9065,default
-27,27,page,1,0.01,9065,default
-28,28,cros,1,0.01,9065,default
-29,29,navigation,2,0.03,9065,default
-30,30,parcour,1,0.01,9065,default
-31,31,panier,1,0.01,9065,default
-32,32,marketing,1,0.01,9065,default
-33,33,moment,1,0.01,9065,default
-34,34,etape,1,0.01,9065,default
-35,35,bonne,1,0.01,9065,default
-36,36,merchandising,4,0.05,9065,default
-37,37,kpi,1,0.01,9065,default
-38,38,analyser,1,0.01,9065,default
-39,39,vente,1,0.01,9065,default
-40,40,liste,1,0.01,9065,default
-41,41,offre,1,0.01,9065,default
-42,42,strategie,1,0.01,9065,default
-43,43,package,1,0.01,9065,default
-44,44,defi,1,0.01,9065,default
-45,45,calendrier,1,0.01,9065,default
-46,46,mesurer,1,0.01,9065,default
-47,47,programme,1,0.01,9065,default
-48,48,off,1,0.01,9065,default
-49,49,element,1,0.01,9065,default
-50,50,version,1,0.01,9065,default
-51,51,boutique,1,0.01,9065,default
-52,52,developper,1,0.01,9065,default
-53,53,promotion,1,0.01,9065,default
-54,54,achat,1,0.01,9065,default
-55,55,plan,1,0.01,9065,default
-56,56,interne,1,0.01,9065,default
-57,57,animation,1,0.01,9065,default
-58,58,gerer,1,0.01,9065,default
-59,59,type,1,0.01,9065,default
-60,60,barre,1,0.01,9065,default
-61,61,espace,1,0.01,9065,default
-62,62,fiche,1,0.01,9065,default
-63,63,recherche,1,0.01,9065,default
+0,0,mehrabian,1,0.01,240,default
+1,1,reformuler,2,0.01,240,default
+2,2,critere,1,0.01,240,default
+3,3,hierarchiser,1,0.01,240,default
+4,4,integrer,1,0.01,240,default
+5,5,progre,1,0.01,240,default
+6,6,cadrage,1,0.01,240,default
+7,7,compte,2,0.01,240,default
+8,8,creuser,2,0.01,240,default
+9,9,varier,1,0.01,240,default
+10,10,utiliser,1,0.01,240,default
+11,11,identifier,5,0.03,240,default
+12,12,fil,1,0.01,240,default
+13,13,defi,1,0.01,240,default
+14,14,canau,1,0.01,240,default
+15,15,cnil,1,0.01,240,default
+16,16,recrutement,6,0.04,240,default
+17,17,demain,1,0.01,240,default
+18,18,structure,1,0.01,240,default
+19,19,entrainement,1,0.01,240,default
+20,20,debrief,1,0.01,240,default
+21,21,recruteur,2,0.01,240,default
+22,22,reussite,1,0.01,240,default
+23,23,pratique,1,0.01,240,default
+24,24,public,1,0.01,240,default
+25,25,cle,1,0.01,240,default
+26,26,grille,1,0.01,240,default
+27,27,doter,1,0.01,240,default
+28,28,pratiquer,2,0.01,240,default
+29,29,competence,4,0.03,240,default
+30,30,decision,1,0.01,240,default
+31,31,rediger,1,0.01,240,default
+32,32,active,1,0.01,240,default
+33,33,premier,1,0.01,240,default
+34,34,expliciter,2,0.01,240,default
+35,35,rechercher,1,0.01,240,default
+36,36,star,1,0.01,240,default
+37,37,objectif,1,0.01,240,default
+38,38,type,3,0.02,240,default
+39,39,candidat,4,0.03,240,default
+40,40,module,1,0.01,240,default
+41,41,poser,1,0.01,240,default
+42,42,psychologique,1,0.01,240,default
+43,43,outil,2,0.01,240,default
+44,44,plan,1,0.01,240,default
+45,45,besoin,2,0.01,240,default
+46,46,percu,1,0.01,240,default
+47,47,adapter,1,0.01,240,default
+48,48,digital,1,0.01,240,default
+49,49,retour,1,0.01,240,default
+50,50,ecoute,2,0.01,240,default
+51,51,constructif,1,0.01,240,default
+52,52,observer,1,0.01,240,default
+53,53,legal,1,0.01,240,default
+54,54,condition,1,0.01,240,default
+55,55,situation,1,0.01,240,default
+56,56,bonne,2,0.01,240,default
+57,57,biai,1,0.01,240,default
+58,58,rendu,1,0.01,240,default
+59,59,valider,1,0.01,240,default
+60,60,definir,1,0.01,240,default
+61,61,diagnostic,1,0.01,240,default
+62,62,methode,1,0.01,240,default
+63,63,discrimination,1,0.01,240,default
+64,64,enjeu,1,0.01,240,default
+65,65,note,1,0.01,240,default
+66,66,recruter,1,0.01,240,default
+67,67,realiser,1,0.01,240,default
+68,68,cible,1,0.01,240,default
+69,69,suivre,1,0.01,240,default
+70,70,video,2,0.01,240,default
+71,71,technique,1,0.01,240,default
+72,72,semaine,2,0.01,240,default
+73,73,rgpd,1,0.01,240,default
+74,74,specificite,1,0.01,240,default
+75,75,batir,1,0.01,240,default
+76,76,cadre,1,0.01,240,default
+77,77,attitude,1,0.01,240,default
+78,78,preparer,1,0.01,240,default
+79,79,evolution,1,0.01,240,default
+80,80,auto,1,0.01,240,default
+81,81,etape,1,0.01,240,default
+82,82,risque,1,0.01,240,default
+83,83,prendre,2,0.01,240,default
+84,84,engageant,1,0.01,240,default
+85,85,renforcement,1,0.01,240,default
+86,86,profil,2,0.01,240,default
+87,87,poste,2,0.01,240,default
+88,88,question,3,0.02,240,default
+89,89,entretien,5,0.03,240,default
+90,90,decrire,1,0.01,240,default
+91,91,recherche,1,0.01,240,default
+92,92,motivation,2,0.01,240,default
+93,93,action,1,0.01,240,default
+94,94,connaitre,2,0.01,240,default
+95,95,mise,1,0.01,240,default
+96,96,programme,1,0.01,240,default
+97,97,implicite,2,0.01,240,default
+98,98,questionnement,1,0.01,240,default
+99,99,communication,1,0.01,240,default
+100,100,obsolescence,1,0.01,240,default
+101,101,synthese,1,0.01,240,default
+102,102,different,3,0.02,240,default
diff --git a/ela_output_test_file_pandas_2.txt b/ela_output_test_file_pandas_2.txt
index 8b72110..6307ea2 100644
--- a/ela_output_test_file_pandas_2.txt
+++ b/ela_output_test_file_pandas_2.txt
@@ -1,14 +1,14 @@
- mots occurence moyenne id_formation source_field
-0 optimiser 1 0.01 9065 default
-1 objectif 1 0.01 9065 default
-2 reassurance 1 0.01 9065 default
-3 mobile 1 0.01 9065 default
-4 moteur 1 0.01 9065 default
-.. ... ... ... ... ...
-59 type 1 0.01 9065 default
-60 barre 1 0.01 9065 default
-61 espace 1 0.01 9065 default
-62 fiche 1 0.01 9065 default
-63 recherche 1 0.01 9065 default
+ mots occurence moyenne id_formation source_field
+0 mehrabian 1 0.01 240 default
+1 reformuler 2 0.01 240 default
+2 critere 1 0.01 240 default
+3 hierarchiser 1 0.01 240 default
+4 integrer 1 0.01 240 default
+.. ... ... ... ... ...
+98 questionnement 1 0.01 240 default
+99 communication 1 0.01 240 default
+100 obsolescence 1 0.01 240 default
+101 synthese 1 0.01 240 default
+102 different 3 0.02 240 default
-[64 rows x 5 columns]
\ No newline at end of file
+[103 rows x 5 columns]
\ No newline at end of file
diff --git a/email_mgt.py b/email_mgt.py
index ded37cd..b6c795f 100644
--- a/email_mgt.py
+++ b/email_mgt.py
@@ -36,7 +36,7 @@ def send_user_account_mail(message, account_mail):
msg = MIMEMultipart("alternative")
msg['Subject'] = 'MySy Training : Activez votre compte '
- msg['From'] = 'billardman01@hotmail.com'
+ msg['From'] = 'contact@mysy-training.com'
msg['To'] = str(account_mail)
@@ -57,7 +57,7 @@ def send_user_account_mail(message, account_mail):
Votre adresse e-mail a bien été enregistrée sur le site
MySy-Training.
- Pour valider votre compte, veuillez cliquer sur le lien
ci-dessous :
+ Pour valider votre compte, veuillez cliquer sur le lien ci-dessous :
@@ -73,7 +73,9 @@ def send_user_account_mail(message, account_mail):
Cordialement
- L'equipe informatique de MySy
+ MySy Training Technology
+ Contact : +337 69 20 39 45
+ Email : contact@mysy-training.com
@@ -93,7 +95,7 @@ def send_user_account_mail(message, account_mail):
print("html_mime ="+str(html))
toaddr = str(account_mail)
- cc = ['billardman01@hotmail.com']
+ cc = ['contact@mysy-training.com']
toaddrs = [toaddr] + cc
# msg.attach(MIMEText(open(filename).read()))
@@ -131,7 +133,7 @@ def send_partner_account_mail(message, account_mail):
msg = MIMEMultipart("alternative")
msg['Subject'] = 'MySy : test email activation compte '
- msg['From'] = 'billardman01@hotmail.com'
+ msg['From'] = 'contact@mysy-training.com'
msg['To'] = str(toaddrs)
msg['Cc'] = 'cbalde@mysy-training.com'
@@ -179,6 +181,7 @@ def send_partner_account_mail(message, account_mail):
server.sendmail(sender, toaddrs, msg.as_string())
print("mail successfully sent")
+
return True
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
@@ -201,7 +204,7 @@ def send_user_init_pwd_mail(token, account_mail):
msg = MIMEMultipart("alternative")
msg['Subject'] = '[MySy Training Technology] : Reinitialisez votre mot de passe'
- msg['From'] = 'billardman01@hotmail.com'
+ msg['From'] = 'contact@mysy-training.com'
msg['To'] = str(account_mail)
html = '''
@@ -233,14 +236,12 @@ def send_user_init_pwd_mail(token, account_mail):
-
-
- CLIQUEZ ICI ==> LOCALHOST
-
-
+
Cordialement
- L'equipe informatique de MySy
+ MySy Training Technology
+ Contact : +337 69 20 39 45
+ Email : contact@mysy-training.com
@@ -259,7 +260,7 @@ def send_user_init_pwd_mail(token, account_mail):
print("html_mime =" + str(html))
toaddr = str(account_mail)
- cc = ['billardman01@hotmail.com']
+ cc = ['contact@mysy-training.com']
toaddrs = [toaddr] + cc
# msg.attach(MIMEText(open(filename).read()))
@@ -290,7 +291,7 @@ def send_user_delete_account(token, account_mail):
msg = MIMEMultipart("alternative")
msg['Subject'] = '[MySy Training Technology] : Suppression de votre'
- msg['From'] = 'billardman01@hotmail.com'
+ msg['From'] = 'contact@mysy-training.com'
msg['To'] = str(account_mail)
html = '''
@@ -324,14 +325,11 @@ Le échéant, vous pouvez finaliser la suppression de votre compte en cliquant s
-
-
- CLIQUEZ ICI ==> LOCALHOST
-
-
-
+
Cordialement
- L'equipe informatique de MySy
+ MySy Training Technology
+ Contact : +337 69 20 39 45
+ Email : contact@mysy-training.com
@@ -350,7 +348,7 @@ Le échéant, vous pouvez finaliser la suppression de votre compte en cliquant s
print("html_mime =" + str(html))
toaddr = str(account_mail)
- cc = ['billardman01@hotmail.com']
+ cc = ['contact@mysy-training.com']
toaddrs = [toaddr] + cc
# msg.attach(MIMEText(open(filename).read()))
diff --git a/main.py b/main.py
index a01d4ac..379fcc4 100644
--- a/main.py
+++ b/main.py
@@ -1086,6 +1086,19 @@ def get_class_coup_de_coeur():
return jsonify(status=status, message=result)
+"""
+Cette API clean la collecion "elaindex"
+"""
+@app.route('/myclass/api/clean_ElaIndex/', methods=['GET','POST'])
+@crossdomain(origin='*')
+def clean_ElaIndex():
+ # On recupere le corps (payload) de la requete
+ payload = request.form.to_dict()
+ print(" ### payload = ", payload)
+ status, result = mycommon.clean_ElaIndex()
+ return jsonify(status=status, message=result)
+
+
if __name__ == '__main__':
diff --git a/prj_common.py b/prj_common.py
index 15a555e..eb7eecf 100644
--- a/prj_common.py
+++ b/prj_common.py
@@ -1034,3 +1034,42 @@ def Migration_mooc_title():
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, "KO"
+
+
+''' Cette fonction clean la collection "elaindex"
+comme elle est tres lourd que les mise à jour des data
+font que certains formations ne sont plus valident, alors on doit supprimer
+dans la collection "elaindex" toutes les lignes correspondant à des formations
+inexistante dans la collection "myclass"
+'''
+
+def clean_ElaIndex():
+ try:
+
+ index_coll = MYSY_GV.dbname["elaindex"]
+ class_coll = MYSY_GV.dbname["myclass"]
+ list_to_delete = []
+ i = 0
+
+ for val in index_coll.find({}, {"id_formation":1}):
+ tmp_count = class_coll.count_documents({'external_code': str(val["id_formation"])})
+ #print(" val = "+str(val))
+ if (tmp_count <= 0 and str(val["id_formation"]) not in list_to_delete):
+ list_to_delete.append(str(val["id_formation"]))
+ i = i +1
+
+ # Operation de suppression :
+ #print(" lancement suppression de "+str(list_to_delete))
+ nb_avant_delete = index_coll.count_documents({})
+ #print(" AVANT SUPPRESSION ON A "+str(nb_avant_delete)+" LIGNE DANS la collection index")
+ query = {"id_formation": {"$in": list_to_delete}}
+ d = index_coll.delete_many(query)
+ print(d.deleted_count, " documents deleted !!")
+
+
+ return True, "clean index OK"
+
+ 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, "clean index KO"
\ No newline at end of file