fix: add ExtendJSONEncoder to safely dump json data with python object, such as MultipartEncoder

This commit is contained in:
debugtalk
2020-06-07 22:26:57 +08:00
parent 5c06b91b62
commit fbf5f245c7
4 changed files with 28 additions and 3 deletions

View File

@@ -212,3 +212,14 @@ def ensure_file_path_valid(file_path: Text) -> Text:
new_file_path = os.path.join(os.getcwd(), f"{os.sep.join(path_names)}{file_suffix}")
return new_file_path
class ExtendJSONEncoder(json.JSONEncoder):
""" especially used to safely dump json data with python object, such as MultipartEncoder
"""
def default(self, obj):
try:
return super(ExtendJSONEncoder, self).default(obj)
except (UnicodeDecodeError, TypeError):
return repr(obj)