diff --git a/cortexutils/worker.py b/cortexutils/worker.py index 2b6e5a5..5e92250 100644 --- a/cortexutils/worker.py +++ b/cortexutils/worker.py @@ -119,8 +119,17 @@ def __write_output(self, data, ensure_ascii=False): os.makedirs('%s/output' % self.job_directory) except: pass - with open('%s/output/output.json' % self.job_directory, mode='w') as f_output: + + f_output = open('%s/output/output.json' % self.job_directory, mode='w') + + try: json.dump(data, f_output, ensure_ascii=ensure_ascii) + except UnicodeEncodeError: + f_output.seek(0) + f_writer = codecs.getwriter('utf-8')(f_output, 'strict') + json.dump(data, f_writer, ensure_ascii=ensure_ascii) + + f_output.close() def get_data(self): """Wrapper for getting data from input dict.