author | nishanth |
Wed, 21 Apr 2010 21:58:16 +0530 | |
changeset 40 | 89d29b1c42b5 |
parent 39 | 0fa055b8ea98 |
child 50 | 0842b3439c3e |
permissions | -rw-r--r-- |
12 | 1 |
import string |
2 |
import random |
|
39
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
3 |
import re |
12 | 4 |
|
5 |
def gen_key(no_of_chars): |
|
6 |
allowed_chars = string.digits+string.uppercase |
|
7 |
return ''.join([random.choice(allowed_chars) for i in range(no_of_chars)]) |
|
39
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
8 |
|
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
9 |
def correct_quiz(quiz): |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
10 |
""" read each submitted answer and update the is_correct variable. |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
11 |
""" |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
12 |
|
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
13 |
for answer in quiz.que_answered.all(): |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
14 |
|
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
15 |
expected_ans = answer.question.expected_ans |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
16 |
|
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
17 |
ans_regex_patterns = [ r"\s*".join(ans_pattern.split()) for ans_pattern in expected_ans.split("\n") ] |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
18 |
for pattern in ans_regex_patterns: |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
19 |
if re.findall(pattern, answer.submitted_ans): |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
20 |
answer.is_correct = True |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
21 |
answer.save() |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
22 |
break |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
23 |