From 5682e02f53cc3fca266defeee050e19c484754b4 Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Wed, 6 Mar 2013 11:05:10 -0500 Subject: [PATCH 1/3] Fix indendation that was causing only first submission to be saved --- common/lib/xmodule/xmodule/foldit_module.py | 14 ++++++++++++-- lms/djangoapps/foldit/views.py | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/common/lib/xmodule/xmodule/foldit_module.py b/common/lib/xmodule/xmodule/foldit_module.py index 3990a61183..893a86f03f 100644 --- a/common/lib/xmodule/xmodule/foldit_module.py +++ b/common/lib/xmodule/xmodule/foldit_module.py @@ -96,8 +96,18 @@ class FolditModule(XModule): self.required_level, self.required_sublevel) - showbasic = (self.metadata.get("show_basic_score").lower() == "true") - showleader = (self.metadata.get("show_leaderboard").lower() == "true") + # Wrap these gets around try-except since calling lower() on NoneType + # (e.g. there is no attribute "show_basic_score" to the tag) will raise + # an exception + try: + showbasic = (self.metadata.get("show_basic_score").lower() == "true") + except: + showbasic = False + try: + showleader = (self.metadata.get("show_leaderboard").lower() == "true") + except: + showleader = False + context = { 'due': self.due_str, 'success': self.is_complete(), diff --git a/lms/djangoapps/foldit/views.py b/lms/djangoapps/foldit/views.py index 988c113d23..da361a2a82 100644 --- a/lms/djangoapps/foldit/views.py +++ b/lms/djangoapps/foldit/views.py @@ -130,7 +130,7 @@ def save_scores(user, puzzle_scores): current_score=current_score, best_score=best_score, score_version=score_version) - obj.save() + obj.save() score_responses.append({'PuzzleID': puzzle_id, 'Status': 'Success'}) From dfa590e71ca0557c737b4c315a32e10610723361 Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Wed, 6 Mar 2013 11:10:13 -0500 Subject: [PATCH 2/3] Make exception a little more specific --- common/lib/xmodule/xmodule/foldit_module.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/lib/xmodule/xmodule/foldit_module.py b/common/lib/xmodule/xmodule/foldit_module.py index 893a86f03f..cc5df16585 100644 --- a/common/lib/xmodule/xmodule/foldit_module.py +++ b/common/lib/xmodule/xmodule/foldit_module.py @@ -101,11 +101,11 @@ class FolditModule(XModule): # an exception try: showbasic = (self.metadata.get("show_basic_score").lower() == "true") - except: + except Exception: showbasic = False try: showleader = (self.metadata.get("show_leaderboard").lower() == "true") - except: + except Exception: showleader = False context = { From fb08942b63fff1070c04e13011bcf2794e8831d6 Mon Sep 17 00:00:00 2001 From: Julian Arni Date: Wed, 6 Mar 2013 14:49:36 -0500 Subject: [PATCH 3/3] Add 'get' default string --- common/lib/xmodule/xmodule/foldit_module.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/common/lib/xmodule/xmodule/foldit_module.py b/common/lib/xmodule/xmodule/foldit_module.py index cc5df16585..920a5aed6d 100644 --- a/common/lib/xmodule/xmodule/foldit_module.py +++ b/common/lib/xmodule/xmodule/foldit_module.py @@ -96,17 +96,8 @@ class FolditModule(XModule): self.required_level, self.required_sublevel) - # Wrap these gets around try-except since calling lower() on NoneType - # (e.g. there is no attribute "show_basic_score" to the tag) will raise - # an exception - try: - showbasic = (self.metadata.get("show_basic_score").lower() == "true") - except Exception: - showbasic = False - try: - showleader = (self.metadata.get("show_leaderboard").lower() == "true") - except Exception: - showleader = False + showbasic = (self.metadata.get("show_basic_score", "").lower() == "true") + showleader = (self.metadata.get("show_leaderboard", "").lower() == "true") context = { 'due': self.due_str,