43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
|
from flask import Blueprint, render_template, request, session, redirect
|
||
|
from flask.helpers import url_for
|
||
|
from data.labels import labels
|
||
|
from data.playbooks import playbooks
|
||
|
from data.questions import questions
|
||
|
from data.sources import sources
|
||
|
from quiz.validators import validate_submissions
|
||
|
from quiz.evaluation import evaluate_quiz
|
||
|
|
||
|
views = Blueprint('views', __name__)
|
||
|
|
||
|
@views.route('/compatibility')
|
||
|
def compatibility():
|
||
|
return render_template('compatibility.html')
|
||
|
|
||
|
@views.route('/')
|
||
|
def home():
|
||
|
return render_template('home.html')
|
||
|
|
||
|
@views.route('/masks')
|
||
|
def about():
|
||
|
return render_template('masks.html')
|
||
|
|
||
|
@views.route('/quiz', methods=['GET', 'POST'])
|
||
|
def quiz():
|
||
|
if request.method == 'POST':
|
||
|
session['submission'] = request.form
|
||
|
if validate_submissions(session['submission']):
|
||
|
return redirect(url_for('views.results'))
|
||
|
return render_template('quiz.html', questions=questions, sources=sources)
|
||
|
|
||
|
@views.route('/results')
|
||
|
def results():
|
||
|
if 'submission' not in session:
|
||
|
return redirect(url_for('views.quiz'))
|
||
|
results = evaluate_quiz(session['submission'])
|
||
|
return render_template('results.html', results = results, playbooks = playbooks, labels = labels, sources = sources)
|
||
|
|
||
|
@views.route('/reset')
|
||
|
def reset():
|
||
|
session.clear()
|
||
|
return redirect(url_for('views.quiz'))
|