author | nishanth |
Thu, 22 Apr 2010 12:17:21 +0530 | |
changeset 50 | 0842b3439c3e |
parent 40 | 89d29b1c42b5 |
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 |
|
50
0842b3439c3e
implemented extra filter on string patterns. now string patterns will not be split like other pattersns
nishanth
parents:
40
diff
changeset
|
17 |
ans_regex_patterns = [] |
0842b3439c3e
implemented extra filter on string patterns. now string patterns will not be split like other pattersns
nishanth
parents:
40
diff
changeset
|
18 |
for ans_pattern in expected_ans.split("\n"): |
0842b3439c3e
implemented extra filter on string patterns. now string patterns will not be split like other pattersns
nishanth
parents:
40
diff
changeset
|
19 |
ans_regex_patterns.append( r"\s*".join(ans_pattern.split()) if not re.match(r"""^[",']""", ans_pattern) else ans_pattern ) |
0842b3439c3e
implemented extra filter on string patterns. now string patterns will not be split like other pattersns
nishanth
parents:
40
diff
changeset
|
20 |
|
39
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
21 |
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
|
22 |
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
|
23 |
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
|
24 |
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
|
25 |
break |
0fa055b8ea98
implemented correct_quiz function and added it at the time of closing quiz and modified question bank
nishanth
parents:
12
diff
changeset
|
26 |