From 13d53539f6c29bb37aab6baf0f1551bde3ea93ce Mon Sep 17 00:00:00 2001 From: Alexander Kryklia Date: Thu, 27 Dec 2012 12:39:37 +0200 Subject: [PATCH] bug fix: exception when correct answer not contain some user answer --- common/lib/capa/capa/graders/draganddrop.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/common/lib/capa/capa/graders/draganddrop.py b/common/lib/capa/capa/graders/draganddrop.py index 07c8f60541..ddd94f13fc 100644 --- a/common/lib/capa/capa/graders/draganddrop.py +++ b/common/lib/capa/capa/graders/draganddrop.py @@ -92,8 +92,11 @@ def grade(user_input, correct_answer): isinstance(user, unicode) and isinstance(correct, str)) else False for draggable in user_answer['draggables']: - if not is_equal(draggable.values()[0], - correct_answer[draggable.keys()[0]]): + user_img_location = draggable.values()[0] + corr_img_location = correct_answer.get(draggable.keys()[0], None) + if not corr_img_location: + return False + if not is_equal(user_img_location, corr_img_location): return False return True