18/10/22 - 15h00

master
ChérifBALDE 2022-10-18 14:10:06 +02:00 committed by cherif
parent 1fe96b65a6
commit 23b6c0a7e9
3 changed files with 221 additions and 2 deletions

View File

@ -59,8 +59,7 @@ nlp = spacy.load("fr_core_news_sm")
spell = SpellChecker(language='fr')
token_fr_pontuation = []
'''
'''
La taille maximal d'un champs à retourner.
Au dela de 300 caractère, le système rame
'''

154
Inscription_mgt.py Normal file
View File

@ -0,0 +1,154 @@
"""
Ce fichier permets de créer les inscription des stagiaires à une formation
"""
import pymongo
from pymongo import MongoClient
import json
from bson import ObjectId
import re
from datetime import datetime
import prj_common as mycommon
import secrets
import inspect
import sys, os
import csv
import pandas as pd
from pymongo import ReturnDocument
import GlobalVariable as MYSY_GV
from math import isnan
import GlobalVariable as MYSY_GV
from datetime import timedelta
"""
Enregistrement d'un stagiaire
"""
def AddStagiairetoClass(diction):
try:
# Dictionnaire des champs utilisables
'''
# 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 = ['nom', 'adr_street', 'adr_city']
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'est pas autorisé, Creation partenaire annulée")
return False, "Impossible de créer le stagiaire. Toutes les informations fournies ne sont pas valables"
"""
Verification de la liste des champs obligatoires
"""
field_list_obligatoire = ['nom', 'email', 'pwd', ]
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 créer le stagiaire, Toutes les informations necessaires n'ont pas été fournies"
return True
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 d'ajouter le stagiaire"
"""
Mettre à jour les infomration d'un stgiaire
"""
def UpdateStagiairetoClass(diction):
try:
field_list = ['nom', 'adr_street', 'adr_city']
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'est pas autorisé, Creation partenaire annulée")
return False, "Impossible de mettre à jour stagiaire. Toutes les informations fournies ne sont pas valables"
"""
Verification de la liste des champs obligatoires
"""
field_list_obligatoire = ['nom', 'email', 'pwd', ]
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 mettre à jour stagiaire, Toutes les informations necessaires n'ont pas été fournies"
return True
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 mettre à jour les informations du stagiaire"
"""
Recuperation d'un stagiaire
"""
def GetStagiaire(diction):
try:
field_list = ['nom', 'adr_street', 'adr_city']
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'est pas autorisé, Creation partenaire annulée")
return False, "Impossible de recuperer le stagiaire. Toutes les informations fournies ne sont pas valables"
"""
Verification de la liste des champs obligatoires
"""
field_list_obligatoire = ['nom', 'email', 'pwd', ]
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 le stagiaire, Toutes les informations necessaires n'ont pas été fournies"
return True
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 le stagiaire"
"""
Recuperation de liste des stagiaire d'une formation
"""
def GetAllClassStagiaire(diction):
try:
field_list = ['nom', 'adr_street', 'adr_city']
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'est pas autorisé, Creation partenaire annulée")
return False, "de recuperer la liste des stagiaires . Toutes les informations fournies ne sont pas valables"
"""
Verification de la liste des champs obligatoires
"""
field_list_obligatoire = ['nom', 'email', 'pwd', ]
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, "de recuperer la liste des stagiaires, Toutes les informations necessaires n'ont pas été fournies"
return True
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 la liste des stagiaires de la formation"

66
main.py
View File

@ -29,6 +29,8 @@ import product_service as PS
import ela_factures_mgt as factures
import statistics as Stat
import strype_payement as Stripe
import Inscription_mgt as inscription
app = Flask(__name__)
cors = CORS(app, resources={r"/foo": {"origins": "*"}})
@ -1699,6 +1701,70 @@ def strip_confirm_payment():
return jsonify(status=localStatus, payement_id=payement_id, payement_status=payement_status )
"""
API de gestion des stagiaires à une une formation / Gestion des insciptions
Ajout d'un stagiaire
"""
@app.route('/myclass/api/AddStagiairetoClass/', methods=['POST','GET'])
@crossdomain(origin='*')
def AddStagiairetoClass():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### AddStagiairetoClass : payload = ",payload)
localStatus, message= inscription.AddStagiairetoClass(payload)
return jsonify(status=localStatus, message=message )
"""
API de mise à jour d'un stagaire
"""
@app.route('/myclass/api/UpdateStagiairetoClass/', methods=['POST','GET'])
@crossdomain(origin='*')
def UpdateStagiairetoClass():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### UpdateStagiairetoClass : payload = ",payload)
localStatus, message= inscription.UpdateStagiairetoClass(payload)
return jsonify(status=localStatus, message=message )
"""
API de recuperation des infos d'un stagiaire
"""
@app.route('/myclass/api/GetStagiaire/', methods=['POST','GET'])
@crossdomain(origin='*')
def GetStagiaire():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### GetStagiaire : payload = ",payload)
localStatus, message= inscription.GetStagiaire(payload)
return jsonify(status=localStatus, message=message )
"""
API de recuperation de la liste de tous les stagaires d'une formation
"""
@app.route('/myclass/api/GetAllClassStagiaire/', methods=['POST','GET'])
@crossdomain(origin='*')
def GetAllClassStagiaire():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### GetAllClassStagiaire : payload = ",payload)
localStatus, message= inscription.GetAllClassStagiaire(payload)
return jsonify(status=localStatus, message=message )
"""
API de recuperation des infos d'un stagiaire
"""
@app.route('/myclass/api/GetStagiaire/', methods=['POST','GET'])
@crossdomain(origin='*')
def GetStagiaire():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### GetStagiaire : payload = ",payload)
localStatus, message= inscription.GetStagiaire(payload)
return jsonify(status=localStatus, message=message )
if __name__ == '__main__':
print(" debut api")
context = SSL.Context(SSL.SSLv23_METHOD)