diff -r 307c6887cc67 -r 0fa055b8ea98 quiz/utils.py --- a/quiz/utils.py Wed Apr 21 19:52:51 2010 +0530 +++ b/quiz/utils.py Wed Apr 21 21:53:33 2010 +0530 @@ -1,6 +1,30 @@ import string import random +import re def gen_key(no_of_chars): allowed_chars = string.digits+string.uppercase return ''.join([random.choice(allowed_chars) for i in range(no_of_chars)]) + +def correct_quiz(quiz): + """ read each submitted answer and update the is_correct variable. + """ + + for answer in quiz.que_answered.all(): + + expected_ans = answer.question.expected_ans + + ans_regex_patterns = [ r"\s*".join(ans_pattern.split()) for ans_pattern in expected_ans.split("\n") ] + for pattern in ans_regex_patterns: + if re.findall(pattern, answer.submitted_ans): + answer.is_correct = True + answer.save() + break + +""" +we send quiz objects filtered by event and quiz num one by and update answer objects in all corresponding answers +later while retreving, we filter on user also ( for displaying in the table) +the table is by default in sorted fashion and also has the links. +seperate table for each quiz. +""" +