Skip to content
Snippets Groups Projects
Commit 7b78fa52 authored by Calen Pennington's avatar Calen Pennington
Browse files

Make self.rerandomize a property accessor that reads from metadata

parent 4ae711c4
No related merge requests found
......@@ -112,16 +112,6 @@ class CapaModule(XModule):
if self.show_answer == "":
self.show_answer = "closed"
self.rerandomize = self.metadata.get('rerandomize', 'always')
if self.rerandomize == "" or self.rerandomize == "always" or self.rerandomize == "true":
self.rerandomize = "always"
elif self.rerandomize == "false" or self.rerandomize == "per_student":
self.rerandomize = "per_student"
elif self.rerandomize == "never":
self.rerandomize = "never"
else:
raise Exception("Invalid rerandomize attribute " + self.rerandomize)
if instance_state != None:
instance_state = json.loads(instance_state)
if instance_state != None and 'attempts' in instance_state:
......@@ -168,6 +158,21 @@ class CapaModule(XModule):
else:
raise
@property
def rerandomize(self):
"""
Property accessor that returns self.metadata['rerandomize'] in a canonical form
"""
rerandomize = self.metadata.get('rerandomize', 'always')
if rerandomize in ("", "always", "true"):
return "always"
elif rerandomize in ("false", "per_student"):
return "per_student"
elif rerandomize == "never":
return "never"
else:
raise Exception("Invalid rerandomize attribute " + rerandomize)
def get_instance_state(self):
state = self.lcp.get_state()
state['attempts'] = self.attempts
......@@ -221,7 +226,7 @@ class CapaModule(XModule):
# User submitted a problem, and hasn't reset. We don't want
# more submissions.
if self.lcp.done and self.metadata['rerandomize'] == "always":
if self.lcp.done and self.rerandomize == "always":
check_button = False
save_button = False
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment