Neurolingua commited on
Commit
e83353c
·
verified ·
1 Parent(s): 84e884f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -26
app.py CHANGED
@@ -203,33 +203,40 @@ def get_student_profile():
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:
220
- grade = 'A-grade'
221
  elif 70 <= percentage < 80:
222
- grade = 'B-grade'
223
  elif 60 <= percentage < 70:
224
- grade = 'C-grade'
225
  elif 50 <= percentage < 60:
226
- grade = 'D-grade'
227
  else:
228
  grade = 'Fail'
229
 
230
  return total_score, max_possible_score, percentage, grade
231
 
232
-
 
 
 
 
 
 
 
 
 
 
233
 
234
  @app.route('/student_reward_points')
235
  def student_reward_points():
@@ -406,17 +413,6 @@ def generate_questions():
406
 
407
  return jsonify({'questions': complete_questions})
408
 
409
- @app.route('/assign_grade', methods=['POST'])
410
- def assign_grade():
411
- data = request.json
412
- result = data['result']
413
- total_score, max_possible_score, percentage, grade = calculate_score_and_grade(result)
414
- return jsonify({
415
- 'total_score': total_score,
416
- 'max_possible_score': max_possible_score,
417
- 'percentage': percentage,
418
- 'grade': grade
419
- })
420
 
421
  @app.route('/generate_timetable', methods=['POST'])
422
  def generate_timetable():
@@ -496,7 +492,6 @@ def eval():
496
  answer_text = extract_text_from_pdf(answer_path)
497
  else:
498
  answer_text = extract_text_from_image(answer_path)
499
- print(question_text,answer_text)
500
 
501
  elif input_type == 'text':
502
  question_text = request.form['question_text']
@@ -507,7 +502,7 @@ def eval():
507
  print(f"Answer Text: {answer_text}") # Debugging line
508
  print(f"Evaluation Result: {evaluation_result}") # Debugging line
509
 
510
- return render_template('teacher_result.html', result=evaluation_result)
511
 
512
  return render_template('teacher_eval.html')
513
 
 
203
  import re
204
 
205
  def calculate_score_and_grade(llm_response):
206
+ pattern = r'Assigned marks: (\d+)/(\d+)'
207
+ matches = re.findall(pattern, llm_response)
208
 
209
+ total_score = sum(int(score) for score, max_score in matches)
210
+ max_possible_score = sum(int(max_score) for score, max_score in matches)
 
211
 
 
212
  percentage = (total_score / max_possible_score) * 100 if max_possible_score > 0 else 0
213
 
 
214
  if percentage > 90:
215
+ grade = 'O'
216
  elif 80 <= percentage <= 90:
217
+ grade = 'A'
218
  elif 70 <= percentage < 80:
219
+ grade = 'B'
220
  elif 60 <= percentage < 70:
221
+ grade = 'C'
222
  elif 50 <= percentage < 60:
223
+ grade = 'D'
224
  else:
225
  grade = 'Fail'
226
 
227
  return total_score, max_possible_score, percentage, grade
228
 
229
+ @app.route('/assign_grade', methods=['POST'])
230
+ def assign_grade():
231
+ data = request.json
232
+ result = data['result']
233
+ total_score, max_possible_score, percentage, grade = calculate_score_and_grade(result)
234
+ return jsonify({
235
+ 'total_score': total_score,
236
+ 'max_possible_score': max_possible_score,
237
+ 'percentage': percentage,
238
+ 'grade': grade
239
+ })
240
 
241
  @app.route('/student_reward_points')
242
  def student_reward_points():
 
413
 
414
  return jsonify({'questions': complete_questions})
415
 
 
 
 
 
 
 
 
 
 
 
 
416
 
417
  @app.route('/generate_timetable', methods=['POST'])
418
  def generate_timetable():
 
492
  answer_text = extract_text_from_pdf(answer_path)
493
  else:
494
  answer_text = extract_text_from_image(answer_path)
 
495
 
496
  elif input_type == 'text':
497
  question_text = request.form['question_text']
 
502
  print(f"Answer Text: {answer_text}") # Debugging line
503
  print(f"Evaluation Result: {evaluation_result}") # Debugging line
504
 
505
+ return render_template('teacher_eval.html', result=evaluation_result)
506
 
507
  return render_template('teacher_eval.html')
508