Commit 7665feb42a93ab170635329b7d7de01505190a8f

Authored by Sébastien Larinier
1 parent b1711cc0

export json compliant python3.5

Showing 1 changed file with 5 additions and 5 deletions
oletools/olevba.py
@@ -1854,19 +1854,19 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'): @@ -1854,19 +1854,19 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'):
1854 pass 1854 pass
1855 elif isinstance(json_obj, str): 1855 elif isinstance(json_obj, str):
1856 # de-code and re-encode 1856 # de-code and re-encode
1857 - dencoded = json_obj.decode(encoding, errors).encode(encoding, errors) 1857 + dencoded = json_obj
1858 if dencoded != json_obj: 1858 if dencoded != json_obj:
1859 log.debug('json2ascii: replaced: {0} (len {1})' 1859 log.debug('json2ascii: replaced: {0} (len {1})'
1860 .format(json_obj, len(json_obj))) 1860 .format(json_obj, len(json_obj)))
1861 log.debug('json2ascii: with: {0} (len {1})' 1861 log.debug('json2ascii: with: {0} (len {1})'
1862 .format(dencoded, len(dencoded))) 1862 .format(dencoded, len(dencoded)))
1863 return dencoded 1863 return dencoded
1864 - elif isinstance(json_obj, str): 1864 + elif isinstance(json_obj, bytes):
1865 log.debug('json2ascii: encode unicode: {0}' 1865 log.debug('json2ascii: encode unicode: {0}'
1866 - .format(json_obj.encode(encoding, errors))) 1866 + .format(json_obj.decode(encoding, errors)))
1867 # cannot put original into logger 1867 # cannot put original into logger
1868 # print 'original: ' json_obj 1868 # print 'original: ' json_obj
1869 - return json_obj.encode(encoding, errors) 1869 + return json_obj.decode(encoding, errors)
1870 elif isinstance(json_obj, dict): 1870 elif isinstance(json_obj, dict):
1871 for key in json_obj: 1871 for key in json_obj:
1872 json_obj[key] = json2ascii(json_obj[key]) 1872 json_obj[key] = json2ascii(json_obj[key])
@@ -3021,7 +3021,7 @@ class VBA_Parser_CLI(VBA_Parser): @@ -3021,7 +3021,7 @@ class VBA_Parser_CLI(VBA_Parser):
3021 curr_macro = {} 3021 curr_macro = {}
3022 if hide_attributes: 3022 if hide_attributes:
3023 # hide attribute lines: 3023 # hide attribute lines:
3024 - vba_code_filtered = filter_vba(vba_code) 3024 + vba_code_filtered = filter_vba(vba_code.decode('utf-8','replace'))
3025 else: 3025 else:
3026 vba_code_filtered = vba_code 3026 vba_code_filtered = vba_code
3027 3027