Log errors in external grader message parsing

This commit is contained in:
kimth
2012-08-28 09:27:27 -04:00
parent 79568dfdf6
commit 024b9db10d

View File

@@ -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