From 79568dfdf68ced51ec739ddcb7da2ea6a89e10d6 Mon Sep 17 00:00:00 2001 From: kimth Date: Sun, 26 Aug 2012 17:37:01 +0000 Subject: [PATCH] Add error logging for external grader messages --- common/lib/capa/capa/responsetypes.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/lib/capa/capa/responsetypes.py b/common/lib/capa/capa/responsetypes.py index 92c6f62048..e7d7406cbd 100644 --- a/common/lib/capa/capa/responsetypes.py +++ b/common/lib/capa/capa/responsetypes.py @@ -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