Commit 5ec9c14937f0cc1580584e953a3da138ab9011e3

Authored by decalage2
1 parent 8e1d03d7

olevba: define unicode=str for Python 3 (issue #106)

Showing 1 changed file with 3 additions and 1 deletions
oletools/olevba.py
@@ -342,6 +342,8 @@ else: @@ -342,6 +342,8 @@ else:
342 xrange = range 342 xrange = range
343 # unichr does not exist anymore, only chr: 343 # unichr does not exist anymore, only chr:
344 unichr = chr 344 unichr = chr
  345 + # json2ascii also needs "unicode":
  346 + unicode = str
345 from functools import reduce 347 from functools import reduce
346 #: Default string encoding for the olevba API 348 #: Default string encoding for the olevba API
347 DEFAULT_API_ENCODING = None # on Python 3: None (unicode) 349 DEFAULT_API_ENCODING = None # on Python 3: None (unicode)
@@ -2258,7 +2260,7 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'): @@ -2258,7 +2260,7 @@ def json2ascii(json_obj, encoding='utf8', errors='replace'):
2258 pass 2260 pass
2259 elif isinstance(json_obj, (bool, int, float)): 2261 elif isinstance(json_obj, (bool, int, float)):
2260 pass 2262 pass
2261 - elif isinstance(json_obj, str): 2263 + elif isinstance(json_obj, bytes):
2262 # de-code and re-encode 2264 # de-code and re-encode
2263 dencoded = json_obj.decode(encoding, errors).encode(encoding, errors) 2265 dencoded = json_obj.decode(encoding, errors).encode(encoding, errors)
2264 if dencoded != json_obj: 2266 if dencoded != json_obj: