Add error logging for external grader messages

This commit is contained in:
kimth
2012-08-26 17:37:01 +00:00
parent c406be8c6a
commit 79568dfdf6

View File

@@ -1210,11 +1210,14 @@ class CodeResponse(LoncapaResponse):
try:
score_result = json.loads(score_msg)
except (TypeError, ValueError):
log.error("External grader message should be a JSON-serialized dict")
return fail
if not isinstance(score_result, dict):
log.error("External grader message should be a JSON-serialized dict")
return fail
for tag in ['correct', 'score', 'msg']:
if not score_result.has_key(tag):
log.error("External grader message is missing one or more required tags: 'correct', 'score', 'msg'")
return fail
# Next, we need to check that the contents of the external grader message