Commit cd3e88fd by Vik Paruchuri

Fix version tuples to be a dictionary

parent 500c4ab8
...@@ -21,10 +21,10 @@ V1_STUDENT_ATTRIBUTES = ["current_task_number", "task_states", "state", ...@@ -21,10 +21,10 @@ V1_STUDENT_ATTRIBUTES = ["current_task_number", "task_states", "state",
V1_ATTRIBUTES = V1_SETTINGS_ATTRIBUTES + V1_STUDENT_ATTRIBUTES V1_ATTRIBUTES = V1_SETTINGS_ATTRIBUTES + V1_STUDENT_ATTRIBUTES
VersionTuple= namedtuple('VersionTuple', ['version', 'descriptor', 'module', 'settings_attributes', 'student_attributes']) VersionTuple= namedtuple('VersionTuple', ['descriptor', 'module', 'settings_attributes', 'student_attributes'])
VERSION_TUPLES = ( VERSION_TUPLES = {
VersionTuple(1, CombinedOpenEndedV1Descriptor, CombinedOpenEndedV1Module, V1_SETTINGS_ATTRIBUTES, V1_STUDENT_ATTRIBUTES), 1: VersionTuple(CombinedOpenEndedV1Descriptor, CombinedOpenEndedV1Module, V1_SETTINGS_ATTRIBUTES, V1_STUDENT_ATTRIBUTES),
) }
DEFAULT_VERSION = 1 DEFAULT_VERSION = 1
...@@ -36,8 +36,7 @@ class VersionInteger(Integer): ...@@ -36,8 +36,7 @@ class VersionInteger(Integer):
def from_json(self, value): def from_json(self, value):
try: try:
value = int(value) value = int(value)
versions = [i.version for i in VERSION_TUPLES] if value not in VERSION_TUPLES:
if value not in versions:
version_error_string = "Could not find version {0}, using version {1} instead" version_error_string = "Could not find version {0}, using version {1} instead"
log.error(version_error_string.format(value, DEFAULT_VERSION)) log.error(version_error_string.format(value, DEFAULT_VERSION))
value = DEFAULT_VERSION value = DEFAULT_VERSION
...@@ -147,11 +146,7 @@ class CombinedOpenEndedModule(CombinedOpenEndedFields, XModule): ...@@ -147,11 +146,7 @@ class CombinedOpenEndedModule(CombinedOpenEndedFields, XModule):
if self.task_states is None: if self.task_states is None:
self.task_states = [] self.task_states = []
versions = [i.version for i in VERSION_TUPLES] version_tuple = VERSION_TUPLES[self.version]
version_index = versions.index(self.version)
version_tuple = VERSION_TUPLES[version_index]
self.student_attributes = version_tuple.student_attributes self.student_attributes = version_tuple.student_attributes
self.settings_attributes = version_tuple.settings_attributes self.settings_attributes = version_tuple.settings_attributes
......
Markdown is supported
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