Commit fd8b1e50 by Piotr Mitros

Staging new Askbot, some work on completion framework

parent fd79da9a
...@@ -111,13 +111,6 @@ def render_x_module(user, request, xml_module, module_object_preload): ...@@ -111,13 +111,6 @@ def render_x_module(user, request, xml_module, module_object_preload):
user, user,
module_type, module_type,
module_id) 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... if s == None: # If nothing in the database...
state=None state=None
...@@ -132,7 +125,7 @@ def render_x_module(user, request, xml_module, module_object_preload): ...@@ -132,7 +125,7 @@ def render_x_module(user, request, xml_module, module_object_preload):
ajax_url=ajax_url, ajax_url=ajax_url,
state=state, state=state,
track_function = make_track_function(request), 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 instance wasn't already in the database, create it
if s == None: if s == None:
......
import courseware.progress
def dummy_track(event_type, event): def dummy_track(event_type, event):
pass pass
...@@ -12,6 +14,9 @@ class XModule(object): ...@@ -12,6 +14,9 @@ class XModule(object):
''' Tags in the courseware file guaranteed to correspond to the module ''' ''' Tags in the courseware file guaranteed to correspond to the module '''
return [] return []
def get_completion(self):
return courseware.progress.completion()
def get_state(self): def get_state(self):
return "" return ""
......
class completion(object): class completion(object):
def __init__(self, d=None): def __init__(self, **d):
self.dict = dict() self.dict = dict({'duration_total':0,
'duration_watched':0,
'done':True,
'questions_correct':0,
'questions_incorrect':0,
'questions_total':0})
if d: if d:
self.dict.update(d) self.dict.update(d)
...@@ -11,9 +16,23 @@ class completion(object): ...@@ -11,9 +16,23 @@ class completion(object):
self.dict[key] = value self.dict[key] = value
def __add__(self, other): def __add__(self, other):
result = dict() result = dict(self.dict)
dict.update(self.dict) for item in ['duration_total',
dict.update(other.dict) 'duration_watched',
'done',
'questions_correct',
'questions_incorrect',
'questions_total']:
result[item] = result[item]+other.dict[item]
return completion(**result)
def __contains__(self, key): 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
...@@ -134,6 +134,7 @@ def index(request, course="6.002 Spring 2012", chapter="Using the System", secti ...@@ -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_object_preload = list(StudentModule.objects.filter(student=user,
module_id__in=module_ids)) module_id__in=module_ids))
module=render_module(user, request, module, module_object_preload) module=render_module(user, request, module, module_object_preload)
......
settings_old_askbot.py settings_new_askbot.py
\ No newline at end of file \ No newline at end of file
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