Fix issue with unicode in errors.

This commit is contained in:
Brian Wilson
2013-06-17 14:14:33 -04:00
parent a8c3e91051
commit c2aadbfb18
4 changed files with 40 additions and 9 deletions

View File

@@ -852,14 +852,14 @@ class CapaModule(CapaFields, XModule):
log.warning("Input error in capa_module:problem_rescore", exc_info=True)
event_info['failure'] = 'input_error'
self.system.track_function('problem_rescore_fail', event_info)
return {'success': "Error: {0}".format(inst.message)}
return {'success': u"Error: {0}".format(inst.message)}
except Exception as err:
event_info['failure'] = 'unexpected'
self.system.track_function('problem_rescore_fail', event_info)
if self.system.DEBUG:
msg = "Error checking problem: " + str(err)
msg += '\nTraceback:\n' + traceback.format_exc()
msg = u"Error checking problem: {0}".format(err.message)
msg += u'\nTraceback:\n' + traceback.format_exc()
return {'success': msg}
raise

View File

@@ -658,11 +658,11 @@ class CapaModuleTest(unittest.TestCase):
# Simulate answering a problem that raises the exception
with patch('capa.capa_problem.LoncapaProblem.rescore_existing_answers') as mock_rescore:
mock_rescore.side_effect = exception_class('test error')
mock_rescore.side_effect = exception_class(u'test error u\03a9')
result = module.rescore_problem()
# Expect an AJAX alert message in 'success'
expected_msg = 'Error: test error'
expected_msg = u'Error: test error u\03a9'
self.assertEqual(result['success'], expected_msg)
# Expect that the number of attempts is NOT incremented