Add error checking around json.dumps when not forcing ascii mode

This commit is contained in:
James Cammarata 2014-08-21 15:52:36 -05:00
parent 5165dfa2df
commit 4fafd3baa8

View file

@ -204,10 +204,15 @@ def jsonify(result, format=False):
for key, value in result2.items(): for key, value in result2.items():
if type(value) is str: if type(value) is str:
result2[key] = value.decode('utf-8', 'ignore') result2[key] = value.decode('utf-8', 'ignore')
indent = None
if format: if format:
return json.dumps(result2, sort_keys=True, indent=4, ensure_ascii=False) indent = 4
else:
return json.dumps(result2, sort_keys=True, ensure_ascii=False) try:
return json.dumps(result2, sort_keys=True, indent=indent, ensure_ascii=False)
except UnicodeDecodeError:
return json.dumps(result2, sort_keys=True, indent=indent)
def write_tree_file(tree, hostname, buf): def write_tree_file(tree, hostname, buf):
''' write something into treedir/hostname ''' ''' write something into treedir/hostname '''