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