Fausto Busuito
Application changes
1677ecc
raw
history blame
1.3 kB
from flask import Flask, render_template, request, jsonify
import os
import json
import random
from datetime import datetime
app = Flask(__name__)
# Load the list of question files
QUESTIONS_DIR = "app/questions"
question_files = [f for f in os.listdir(QUESTIONS_DIR) if f.endswith('.json')]
@app.route('/')
def index():
return render_template('index.html', files=question_files)
@app.route('/load_questions', methods=['POST'])
def load_questions():
file_name = request.json.get('file_name')
file_path = os.path.join(QUESTIONS_DIR, file_name)
if not os.path.exists(file_path):
return jsonify({"error": "File not found"}), 404
with open(file_path, 'r') as f:
questions = json.load(f)
random.shuffle(questions)
return jsonify(questions)
@app.route('/submit_results', methods=['POST'])
def submit_results():
data = request.json
questions = data.get('questions')
user_answers = data.get('user_answers')
correct_count = 0
total_questions = len(questions)
for q, ua in zip(questions, user_answers):
if set(q['correct']) == set(ua):
correct_count += 1
score = (correct_count / total_questions) * 100
return jsonify({"score": score})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)