More precisly mimic javascript's JSON.stringify()

This commit is contained in:
Eriks K 2021-02-03 20:13:51 +02:00
parent b04cc896d8
commit 14bcb46735

View File

@ -296,7 +296,7 @@ def json_dumps(obj, *args, **kwargs):
def b64json(obj: Union[Dict[str, Union[int, List[str]]], List[str]]): def b64json(obj: Union[Dict[str, Union[int, List[str]]], List[str]]):
if isinstance(obj, list): if isinstance(obj, list):
return b64encode(json.dumps(obj).encode('utf-8')).decode('utf-8') return b64encode(json.dumps(obj).replace(' ', '').encode('utf-8')).decode('utf-8')
elif isinstance(obj, (int, str)): elif isinstance(obj, (int, str)):
return obj return obj
elif isinstance(obj, dict): elif isinstance(obj, dict):
@ -305,7 +305,7 @@ def b64json(obj: Union[Dict[str, Union[int, List[str]]], List[str]]):
else: else:
from .classes import ErepublikException from .classes import ErepublikException
raise ErepublikException(f'Unhandled object type! obj is {type(obj)}') raise ErepublikException(f'Unhandled object type! obj is {type(obj)}')
return b64encode(json.dumps(obj).encode('utf-8')).decode('utf-8') return b64encode(json.dumps(obj).replace(' ', '').encode('utf-8')).decode('utf-8')
class ErepublikJSONEncoder(json.JSONEncoder): class ErepublikJSONEncoder(json.JSONEncoder):