diff --git a/courseware/module_render.py b/courseware/module_render.py index 4c969447a1bf523c413ec4a009daef8ac74efda7..4bfbccf8b3249a7a0ad07e420276d5840b650c96 100644 --- a/courseware/module_render.py +++ b/courseware/module_render.py @@ -111,13 +111,6 @@ def render_x_module(user, request, xml_module, module_object_preload): user, module_type, module_id) - # s = StudentModule.objects.filter(student=request.user, - # module_id=module_id, - # module_type = module_type) - # if len(s) == 0: - # s=None - # else: - # s=s[0] if s == None: # If nothing in the database... state=None @@ -132,7 +125,7 @@ def render_x_module(user, request, xml_module, module_object_preload): ajax_url=ajax_url, state=state, track_function = make_track_function(request), - render_function = lambda x: render_module(user, request, x, module_object_preload)) + render_function = lambda x: render_module(user, request, x, module_object_preload)) # If instance wasn't already in the database, create it if s == None: diff --git a/courseware/modules/x_module.py b/courseware/modules/x_module.py index efad4417e8305db921dac6a992f78c13cc5701a4..4b45c4c7fc3a30f047f8f17995dae1aabdb1b7fb 100644 --- a/courseware/modules/x_module.py +++ b/courseware/modules/x_module.py @@ -1,3 +1,5 @@ +import courseware.progress + def dummy_track(event_type, event): pass @@ -12,6 +14,9 @@ class XModule(object): ''' Tags in the courseware file guaranteed to correspond to the module ''' return [] + def get_completion(self): + return courseware.progress.completion() + def get_state(self): return "" diff --git a/courseware/progress.py b/courseware/progress.py index 6fe7cf3f2a2f0be3a89f75013799040c15f0a852..ad2cb725b4c19c9ffeabbc8c6e545ac00c2e1f89 100644 --- a/courseware/progress.py +++ b/courseware/progress.py @@ -1,6 +1,11 @@ class completion(object): - def __init__(self, d=None): - self.dict = dict() + def __init__(self, **d): + self.dict = dict({'duration_total':0, + 'duration_watched':0, + 'done':True, + 'questions_correct':0, + 'questions_incorrect':0, + 'questions_total':0}) if d: self.dict.update(d) @@ -11,9 +16,23 @@ class completion(object): self.dict[key] = value def __add__(self, other): - result = dict() - dict.update(self.dict) - dict.update(other.dict) + result = dict(self.dict) + for item in ['duration_total', + 'duration_watched', + 'done', + 'questions_correct', + 'questions_incorrect', + 'questions_total']: + result[item] = result[item]+other.dict[item] + return completion(**result) def __contains__(self, key): - pass + return key in dict + + def __repr__(self): + return repr(self.dict) + +if __name__ == '__main__': + dict1=completion(duration_total=5) + dict2=completion(duration_total=7) + print dict1+dict2 diff --git a/courseware/views.py b/courseware/views.py index 864e5d02230cda5d5c542e8776fa8032b9de7fa0..4345084ec00923daa665af1391f5735b02cbce31 100644 --- a/courseware/views.py +++ b/courseware/views.py @@ -134,6 +134,7 @@ def index(request, course="6.002 Spring 2012", chapter="Using the System", secti module_object_preload = list(StudentModule.objects.filter(student=user, module_id__in=module_ids)) + module=render_module(user, request, module, module_object_preload) diff --git a/settings.py b/settings.py index 57b3227b1fb3f601932347883b7ce7d69ccb7bbe..f42725e7f14b5c8ca44f39ef6d351cea8a650af2 120000 --- a/settings.py +++ b/settings.py @@ -1 +1 @@ -settings_old_askbot.py \ No newline at end of file +settings_new_askbot.py \ No newline at end of file