Neurolingua
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -2,6 +2,7 @@ import joblib
|
|
2 |
from flask import Flask, render_template, request, jsonify,session
|
3 |
from werkzeug.utils import secure_filename
|
4 |
import os
|
|
|
5 |
from student_functions import extract_text_from_pdf_s,generate_ai_response,generate_project_idea,generate_project_idea_questions,generate_quiz,generate_response_from_pdf,generate_step_by_step_explanation,study_plan,ConversationBufferMemory,get_first_youtube_video_link,content_translate,summarise_text,content_translate
|
6 |
from teacher_function import evaluate,extract_text_from_image,extract_text_from_pdf,generate_questions_from_text,generate_student_report,generate_timetable_module,cluster_topics,generate_timetable_weak
|
7 |
import shutil
|
@@ -199,15 +200,20 @@ def get_student_profile():
|
|
199 |
return jsonify({'status': 'error', 'message': 'Student not found'}), 404
|
200 |
|
201 |
|
|
|
|
|
202 |
def calculate_score_and_grade(llm_response):
|
203 |
-
|
204 |
-
|
205 |
|
206 |
-
|
207 |
-
|
|
|
208 |
|
209 |
-
|
|
|
210 |
|
|
|
211 |
if percentage > 90:
|
212 |
grade = 'O-grade'
|
213 |
elif 80 <= percentage <= 90:
|
@@ -223,6 +229,8 @@ def calculate_score_and_grade(llm_response):
|
|
223 |
|
224 |
return total_score, max_possible_score, percentage, grade
|
225 |
|
|
|
|
|
226 |
@app.route('/student_reward_points')
|
227 |
def student_reward_points():
|
228 |
return render_template('student_reward_points.html')
|
|
|
2 |
from flask import Flask, render_template, request, jsonify,session
|
3 |
from werkzeug.utils import secure_filename
|
4 |
import os
|
5 |
+
import re
|
6 |
from student_functions import extract_text_from_pdf_s,generate_ai_response,generate_project_idea,generate_project_idea_questions,generate_quiz,generate_response_from_pdf,generate_step_by_step_explanation,study_plan,ConversationBufferMemory,get_first_youtube_video_link,content_translate,summarise_text,content_translate
|
7 |
from teacher_function import evaluate,extract_text_from_image,extract_text_from_pdf,generate_questions_from_text,generate_student_report,generate_timetable_module,cluster_topics,generate_timetable_weak
|
8 |
import shutil
|
|
|
200 |
return jsonify({'status': 'error', 'message': 'Student not found'}), 404
|
201 |
|
202 |
|
203 |
+
import re
|
204 |
+
|
205 |
def calculate_score_and_grade(llm_response):
|
206 |
+
# Extract all the marks using a regular expression
|
207 |
+
marks = re.findall(r'(\d+)/(\d+)', llm_response)
|
208 |
|
209 |
+
# Calculate total score and maximum possible score
|
210 |
+
total_score = sum(int(mark[0]) for mark in marks)
|
211 |
+
max_possible_score = sum(int(mark[1]) for mark in marks)
|
212 |
|
213 |
+
# Calculate the percentage
|
214 |
+
percentage = (total_score / max_possible_score) * 100 if max_possible_score > 0 else 0
|
215 |
|
216 |
+
# Determine the grade based on the percentage
|
217 |
if percentage > 90:
|
218 |
grade = 'O-grade'
|
219 |
elif 80 <= percentage <= 90:
|
|
|
229 |
|
230 |
return total_score, max_possible_score, percentage, grade
|
231 |
|
232 |
+
|
233 |
+
|
234 |
@app.route('/student_reward_points')
|
235 |
def student_reward_points():
|
236 |
return render_template('student_reward_points.html')
|