Commit 024b9db1 by kimth

Log errors in external grader message parsing

parent 79568dfd
......@@ -1210,13 +1210,13 @@ class CodeResponse(LoncapaResponse):
try:
score_result = json.loads(score_msg)
except (TypeError, ValueError):
log.error("External grader message should be a JSON-serialized dict")
log.error("External grader message should be a JSON-serialized dict. Received score_msg = %s" % score_msg)
return fail
if not isinstance(score_result, dict):
log.error("External grader message should be a JSON-serialized dict")
log.error("External grader message should be a JSON-serialized dict. Received score_result = %s" % score_result)
return fail
for tag in ['correct', 'score', 'msg']:
if not score_result.has_key(tag):
if tag not in score_result:
log.error("External grader message is missing one or more required tags: 'correct', 'score', 'msg'")
return fail
......
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