Exemplo n.º 1
0
def result(sid):
    s = Session.Get(sid)
    if (s == None):
        return render_template('error.html',
                               title='404',
                               quizdb=QuizDB.Instance(),
                               errcode=ERROR_SESSION_ID_NOT_FOUND,
                               errortext=sid)
    if (s.quiz.state != Quiz.DONE):
        s.Kill()
        return render_template('error.html',
                               title='Error',
                               quizsession=s,
                               quizdb=QuizDB.Instance(),
                               errcode=ERROR_SESSION_ERROR)
    else:
        s.Save()
        s.Kill()
        return render_template('result.html',
                               title='Result',
                               quizsession=s,
                               quizdb=QuizDB.Instance())
Exemplo n.º 2
0
def quiz(sid):
    s = Session.Get(sid)
    if (s == None):
        return render_template('error.html',
                               title='404',
                               quizdb=QuizDB.Instance(),
                               errcode=ERROR_SESSION_ID_NOT_FOUND,
                               errortext=sid)
    f = forms.file_list_form_builder(s, QuizCFG.ISDEBUG)

    if f.validate_on_submit():
        rids = forms.rspids_from_form(f)
        if (len(rids) != 0):
            rc = s.quiz.Answer(rids)
            if (rc != Quiz.OK):
                return redirect(url_for('result', sid=s.sid))
            return redirect(url_for('quiz', sid=s.sid))

    return render_template('question.html',
                           form=f,
                           title='Quiz',
                           quizsession=s,
                           quizdb=QuizDB.Instance())