Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -51,41 +51,8 @@ def get_id_by_name(student_name):
|
|
51 |
if len(data['records']) > 0:
|
52 |
record = data['records'][0] # On prend le premier enregistrement correspondant
|
53 |
student_id = record['fields'].get('ID_Etu', 'Aucun id trouvé')
|
54 |
-
return student_id
|
55 |
-
else:
|
56 |
-
return None
|
57 |
-
else:
|
58 |
-
logger.error(f"Erreur lors de la récupération des informations : {response.status_code} - {response.text}")
|
59 |
-
return None
|
60 |
-
|
61 |
-
except Exception as e:
|
62 |
-
logger.error(f"Erreur lors de la récupération des informations : {str(e)}")
|
63 |
-
return None
|
64 |
-
|
65 |
-
|
66 |
-
def get_user_info_by_id(student_id):
|
67 |
-
url = f"https://api.airtable.com/v0/{AIRTABLE_BASE_ID}/Inscription_Etudiants"
|
68 |
-
headers = {
|
69 |
-
"Authorization": f"Bearer {AIRTABLE_API_KEY}",
|
70 |
-
"Content-Type": "application/json"
|
71 |
-
}
|
72 |
-
|
73 |
-
# Filtrer les enregistrements par ID_Etu
|
74 |
-
params = {
|
75 |
-
"filterByFormula": f"{{ID_Etu}} = '{student_id}'"
|
76 |
-
}
|
77 |
-
|
78 |
-
try:
|
79 |
-
response = requests.get(url, headers=headers, params=params)
|
80 |
-
|
81 |
-
if response.status_code == 200:
|
82 |
-
data = response.json()
|
83 |
-
|
84 |
-
if len(data['records']) > 0:
|
85 |
-
record = data['records'][0] # On prend le premier enregistrement correspondant
|
86 |
-
user_name = record['fields'].get('Nom', 'Aucun nom trouvé')
|
87 |
user_email = record['fields'].get('Email', 'Aucun email trouvé')
|
88 |
-
return
|
89 |
else:
|
90 |
return None, None
|
91 |
else:
|
@@ -95,6 +62,7 @@ def get_user_info_by_id(student_id):
|
|
95 |
except Exception as e:
|
96 |
logger.error(f"Erreur lors de la récupération des informations : {str(e)}")
|
97 |
return None, None
|
|
|
98 |
|
99 |
|
100 |
def get_student_description(student_id):
|
@@ -333,15 +301,14 @@ def delete_compatibility_records(student_id):
|
|
333 |
|
334 |
def start_conversation(request: gr.Request):
|
335 |
student_name = getParams(None, request)
|
336 |
-
student_id = get_id_by_name(student_name)
|
337 |
description = get_student_description(student_id)
|
338 |
initial_message = f"Bienvenue ! Voici vos compétences :\n{description}\n\nQue souhaitez-vous modifier ou améliorer dans vos compétences ?"
|
339 |
return [[None, initial_message]], description
|
340 |
|
341 |
def chatbot_conversation(message, history, request: gr.Request):
|
342 |
student_name = getParams(None, request)
|
343 |
-
student_id = get_id_by_name(student_name)
|
344 |
-
student_name, student_mail = get_user_info_by_id(student_id)
|
345 |
current_skills = get_student_description(student_id)
|
346 |
|
347 |
# Analyse la réponse et obtient les compétences mises à jour
|
@@ -365,11 +332,10 @@ def chatbot_conversation(message, history, request: gr.Request):
|
|
365 |
|
366 |
def validate_update(updated_skills, request: gr.Request):
|
367 |
student_name = getParams(None, request)
|
368 |
-
student_id = get_id_by_name(student_name)
|
369 |
response = update_student_description(student_id, updated_skills)
|
370 |
return response
|
371 |
|
372 |
-
# Création de l'interface
|
373 |
with gr.Blocks() as demo:
|
374 |
gr.HTML("""
|
375 |
<style>
|
|
|
51 |
if len(data['records']) > 0:
|
52 |
record = data['records'][0] # On prend le premier enregistrement correspondant
|
53 |
student_id = record['fields'].get('ID_Etu', 'Aucun id trouvé')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
user_email = record['fields'].get('Email', 'Aucun email trouvé')
|
55 |
+
return student_id, user_email
|
56 |
else:
|
57 |
return None, None
|
58 |
else:
|
|
|
62 |
except Exception as e:
|
63 |
logger.error(f"Erreur lors de la récupération des informations : {str(e)}")
|
64 |
return None, None
|
65 |
+
|
66 |
|
67 |
|
68 |
def get_student_description(student_id):
|
|
|
301 |
|
302 |
def start_conversation(request: gr.Request):
|
303 |
student_name = getParams(None, request)
|
304 |
+
student_id, student_mail = get_id_by_name(student_name)
|
305 |
description = get_student_description(student_id)
|
306 |
initial_message = f"Bienvenue ! Voici vos compétences :\n{description}\n\nQue souhaitez-vous modifier ou améliorer dans vos compétences ?"
|
307 |
return [[None, initial_message]], description
|
308 |
|
309 |
def chatbot_conversation(message, history, request: gr.Request):
|
310 |
student_name = getParams(None, request)
|
311 |
+
student_id, student_mail = get_id_by_name(student_name)
|
|
|
312 |
current_skills = get_student_description(student_id)
|
313 |
|
314 |
# Analyse la réponse et obtient les compétences mises à jour
|
|
|
332 |
|
333 |
def validate_update(updated_skills, request: gr.Request):
|
334 |
student_name = getParams(None, request)
|
335 |
+
student_id, student_mail = get_id_by_name(student_name)
|
336 |
response = update_student_description(student_id, updated_skills)
|
337 |
return response
|
338 |
|
|
|
339 |
with gr.Blocks() as demo:
|
340 |
gr.HTML("""
|
341 |
<style>
|