Quiz Logic
This commit is contained in:
@@ -16,9 +16,8 @@ class Quiz(Document):
|
|||||||
def evaluate(self, response_dict):
|
def evaluate(self, response_dict):
|
||||||
self.get_questions()
|
self.get_questions()
|
||||||
answers = {q.name:q.get_answer() for q in self.get_questions()}
|
answers = {q.name:q.get_answer() for q in self.get_questions()}
|
||||||
correct_answers = [{'question':question,'selected_option':response_dict[question],'result':(answers[question] == response_dict[question])} for question in response_dict.keys()]
|
correct_answers = [answers[question] == response_dict[question] for question in response_dict.keys()]
|
||||||
print(correct_answers)
|
return (sum(correct_answers) * 100 ) / len(answers)
|
||||||
return correct_answers, (sum(answer['result'] for answer in correct_answers) * 100 ) / len(answers)
|
|
||||||
|
|
||||||
|
|
||||||
def get_questions(self):
|
def get_questions(self):
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "correct_option",
|
"fieldname": "result",
|
||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
@@ -123,8 +123,8 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2018-10-15 16:17:35.779634",
|
"modified": "2018-10-22 12:28:07.597474",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "jess@education.com",
|
||||||
"module": "Education",
|
"module": "Education",
|
||||||
"name": "Quiz Result",
|
"name": "Quiz Result",
|
||||||
"name_case": "",
|
"name_case": "",
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ def evaluate_quiz(quiz_response, **kwargs):
|
|||||||
course_name = kwargs.get('course')
|
course_name = kwargs.get('course')
|
||||||
try:
|
try:
|
||||||
quiz = frappe.get_doc("Quiz", quiz_name)
|
quiz = frappe.get_doc("Quiz", quiz_name)
|
||||||
result, score = quiz.evaluate(quiz_response)
|
score = quiz.evaluate(quiz_response)
|
||||||
add_quiz_activity(course_name, quiz_name, result, score)
|
# add_quiz_activity(course_name, quiz_name, result, score)
|
||||||
return score
|
return score
|
||||||
except frappe.DoesNotExistError:
|
except frappe.DoesNotExistError:
|
||||||
frappe.throw("Quiz {0} does not exist".format(quiz_name))
|
frappe.throw("Quiz {0} does not exist".format(quiz_name))
|
||||||
|
|||||||
Reference in New Issue
Block a user