From 84d84675ae9f05a00812e4db1df37c3281afa859 Mon Sep 17 00:00:00 2001 From: cherif Date: Mon, 19 Jun 2023 20:12:40 +0200 Subject: [PATCH] 19/06/23 - 20h21 --- .idea/workspace.xml | 19 +++++++++++++------ lms_chamilo/mysy_lms.py | 18 +++++++++++++----- prj_common.py | 3 ++- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index c47cc72..ceeb37f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,10 +1,10 @@ - + - - + + @@ -328,7 +335,6 @@ - @@ -353,6 +359,7 @@ - \ No newline at end of file diff --git a/lms_chamilo/mysy_lms.py b/lms_chamilo/mysy_lms.py index 80c5445..baf227b 100644 --- a/lms_chamilo/mysy_lms.py +++ b/lms_chamilo/mysy_lms.py @@ -2828,7 +2828,7 @@ Etape 3 : Une fois la formation créer et/ou publier, mettre l'url (mysy search) dans la table 'course' de mysy lms. Ceci permettra de mettre un bouton de visualisation dans mysy lms. -Etape 4 : (pas fait encore) +Etape 4 : Apres la creation de la formation, on crée la session associée. car dans le cadre du LMS, une formation = 1 session (moteur) """ @@ -2908,7 +2908,7 @@ def Create_Class_From_Lms(diction): /!\: Important : Dans mysy lms, l'utilisateur crée un titre, puis une description. ex : "objectif": "detail de l'objectif" ou "méthode":"detail de la de la méthode", etc. - Pour gérer les fautes de frappe dans l'identification des titre, on va utiliser le calcul de distance de Levenshtein + Pour gérer les fautes de frappe dans l'identification des titres, on va utiliser le calcul de distance de Levenshtein """ # La liste des champs necessaires à la creation d'une formation dans moteur de recherche @@ -2918,10 +2918,14 @@ def Create_Class_From_Lms(diction): new_diction = {} local_class_code = "" local_class_title = "" + local_class_internal_url = "" + + nb_courses_info = 0 for courses_info in cur: pave_title_tab = str(courses_info[0]).split(" ") for local_val in pave_title_tab: + nb_courses_info = nb_courses_info +1 if( lev('description',str(local_val).lower() ) <= 2 ): new_diction['description'] = courses_info[1] @@ -2929,9 +2933,6 @@ def Create_Class_From_Lms(diction): if (lev('objectif', str(local_val).lower()) <= 2): new_diction['objectif'] = courses_info[1] - if (lev('programme', str(local_val).lower()) <= 2): - new_diction['programme'] = courses_info[1] - if (lev('prerequis', str(local_val).lower()) <= 2): new_diction['prerequis'] = courses_info[1] @@ -2953,6 +2954,12 @@ def Create_Class_From_Lms(diction): local_class_title = courses_info[3] local_class_internal_url = courses_info[4] + if( nb_courses_info == 0 ): + mycommon.myprint(str(inspect.stack()[0][3]) + " - La formation n'a pas tous les champs necessaires pour etre publiée dans le moteur de recherche. " + "Vous devez saisir : description, objectif, programme, prerequis, pourqui") + return False, str(inspect.stack()[0][3]) + " - La formation n'a pas tous les champs necessaires pour etre publiée dans le moteur de recherche.\n " \ + " Vous devez saisir : description, objectif, programme, prerequis, pourqui ", + if(local_class_code ): new_diction['external_code'] = local_class_code @@ -2968,6 +2975,7 @@ def Create_Class_From_Lms(diction): new_diction['price'] = "0" new_diction['duration_unit'] = "user_rythme" new_diction['duration'] = "0" + if( lms_class_domaine ): new_diction['domaine'] = lms_class_domaine diff --git a/prj_common.py b/prj_common.py index db96dc9..04d5d27 100644 --- a/prj_common.py +++ b/prj_common.py @@ -2024,6 +2024,7 @@ def CreateInternalUrl(sentence=None): internal_url = "" if( len(sentence) <= 0 ): + myprint(str(inspect.stack()[0][3]) + " - sentence est vide " ) return False, "" my_internal_url = sentence @@ -2050,7 +2051,7 @@ def CreateInternalUrl(sentence=None): 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)) + myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) return False, ""