Handling case of response not in cache explicitly
--HG-- branch : profile-cache
This commit is contained in:
@@ -38,30 +38,28 @@ def get_grade(request, problem, cache):
|
||||
## HACK: assumes max score is fixed per problem
|
||||
id = problem.get('id')
|
||||
correct = 0
|
||||
print ",",
|
||||
if id in cache:
|
||||
print "In cache"
|
||||
response = cache[id]
|
||||
if response.grade!=None:
|
||||
correct=response.grade
|
||||
if id in cache and response.max_grade != None:
|
||||
total = response.max_grade
|
||||
else: #if id in cache and response.max_grade == None:
|
||||
elif id in cache and response.max_grade == None:
|
||||
total=courseware.modules.capa_module.Module(etree.tostring(problem), "id").max_score()
|
||||
# response.max_grade = total
|
||||
# response.save()
|
||||
# else: # if id not in cache
|
||||
# total=courseware.modules.capa_module.Module(etree.tostring(problem), "id").max_score()
|
||||
# module = StudentModule(module_type = 'problem',
|
||||
# module_id = id,
|
||||
# student = request.user,
|
||||
# state = None,
|
||||
# grade = 0,
|
||||
# max_grade = total,
|
||||
# done = 'i')
|
||||
# total=courseware.modules.capa_module.Module(etree.tostring(problem), "id").max_score()
|
||||
# module.save()
|
||||
# cache[id] = module
|
||||
response.max_grade = total
|
||||
response.save()
|
||||
else: # if id not in cache
|
||||
total=courseware.modules.capa_module.Module(etree.tostring(problem), "id").max_score()
|
||||
module = StudentModule(module_type = 'problem',
|
||||
module_id = id,
|
||||
student = request.user,
|
||||
state = None,
|
||||
grade = 0,
|
||||
max_grade = total,
|
||||
done = 'i')
|
||||
total=courseware.modules.capa_module.Module(etree.tostring(problem), "id").max_score()
|
||||
module.save()
|
||||
cache[id] = module
|
||||
|
||||
return (correct, total)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user