diff options
author | Prabhu Ramachandran | 2016-11-17 12:54:56 +0530 |
---|---|---|
committer | GitHub | 2016-11-17 12:54:56 +0530 |
commit | aa6ed71496c4a36faed9b42104c8426345bdc2e3 (patch) | |
tree | e5ff410809c60e735cc1a64ce667ba1d4caa6cf5 /yaksh/views.py | |
parent | 7ae8584a4f4d095e005d6239102c0f26611ac006 (diff) | |
parent | c4a39baa980578b4e35452d7e1978b1bf0b38e13 (diff) | |
download | online_test-aa6ed71496c4a36faed9b42104c8426345bdc2e3.tar.gz online_test-aa6ed71496c4a36faed9b42104c8426345bdc2e3.tar.bz2 online_test-aa6ed71496c4a36faed9b42104c8426345bdc2e3.zip |
Merge pull request #152 from ankitjavalkar/partial
Partial Grading
Diffstat (limited to 'yaksh/views.py')
-rw-r--r-- | yaksh/views.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/yaksh/views.py b/yaksh/views.py index 1afcef7..c3d743b 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -517,11 +517,16 @@ def check(request, q_id, attempt_num=None, questionpaper_id=None): if question.type == 'code' else None correct, result = paper.validate_answer(user_answer, question, json_data) if correct: + new_answer.marks = (question.points * result['weight'] / + question.get_maximum_test_case_weight()) \ + if question.partial_grading and question.type == 'code' else question.points new_answer.correct = correct - new_answer.marks = question.points new_answer.error = result.get('error') else: new_answer.error = result.get('error') + new_answer.marks = (question.points * result['weight'] / + question.get_maximum_test_case_weight()) \ + if question.partial_grading and question.type == 'code' else 0 new_answer.save() paper.update_marks('inprogress') paper.set_end_time(timezone.now()) |