nothing-unencr
quadrismegistus 4 years ago
parent 2f34fa8890
commit 725ab962a8

@ -59,41 +59,68 @@ def hashish(binary_data):
from base64 import b64encode,b64decode
import ujson as json
def package_for_transmission(data_json):
for k,v in data_json.items():
if type(v)==bytes:
if not isBase64(v): v=b64encode(v)
v=v.decode()
elif type(v)==str:
# if not isBase64(v): v=b64encode(v.encode())
pass
elif type(v)==dict:
v=package_for_transmission(v)
data_json[k]=v
print(type(data_json), data_json)
data_json_s = json.dumps(data_json)
data_json_b = data_json_s.encode()
return b64encode(data_json_b)
def unpackage_from_transmission(data_json_b):
print(type(data_json_b),'data_json_b1???',data_json_b)
if type(data_json_b)==bytes and isBase64(data_json_b): data_json_b=b64decode(data_json_b)
print(type(data_json_b),'data_json_b???',data_json_b)
# print(type(data_json_b),)
data_json_s = data_json_b.decode()
print(type(data_json_s),'data_json_s???',data_json_s)
data_json = json.loads(data_json_s)
print(type(data_json),'data_json???',data_json)
for k,v in data_json.items():
if type(v)==bytes:
if isBase64(v):v=b64decode(v.decode())
data_json[k]=v
elif type(v)==str:
if isBase64(v): v=b64decode(v.encode())
data_json[k]=v
# for k,v in data_json.items():
# if type(v)==bytes:
# if not isBase64(v): v=b64encode(v)
# v=v.decode()
# elif type(v)==str:
# # if not isBase64(v): v=b64encode(v.encode())
# pass
# elif type(v)==dict:
# v=package_for_transmission(v)
# data_json[k]=v
# print(type(data_json), data_json)
# data_json_s = json.dumps(data_json)
# data_json_b = data_json_s.encode()
print('package_for_transmission.data_json =',data_json)
data_json_bstr = json.dumps(data_json,reject_bytes=False)
print('package_for_transmission.data_json_b =',data_json_bstr)
return b64encode(data_json_bstr.encode())
def dejsonize(dict):
for k,v in dict.items():
if type(v)==str and isBase64(v):
dict[k]=b64decode(v.encode())
if type(v)==bytes and isBase64(v):
dict[k]=b64decode(v)
elif type(v)==dict:
data_json[k]=unpackage_from_transmission(v)
dict[k]=dejsonize(v)
return dict
def unpackage_from_transmission(data_json_b64):
print('unpackage_from_transmission.data_json_b64 =',data_json_b64)
data_json_bstr = b64decode(data_json_b64).decode()
print('unpackage_from_transmission.data_json_bstr =',data_json_bstr)
data_json = json.loads(data_json_bstr)
print('unpackage_from_transmission.data_json =',data_json)
data_json_dejson = dejsonize(data_json)
print('unpackage_from_transmission.data_json =',data_json_dejson)
return data_json
# print(type(data_json_b),'data_json_b1???',data_json_b)
# if type(data_json_b)==bytes and isBase64(data_json_b): data_json_b=b64decode(data_json_b)
# print(type(data_json_b),'data_json_b???',data_json_b)
# # print(type(data_json_b),)
# data_json_s = data_json_b.decode()
# print(type(data_json_s),'data_json_s???',data_json_s)
# data_json = json.loads(data_json_s)
# print(type(data_json),'data_json???',data_json)
# for k,v in data_json.items():
# if type(v)==bytes:
# if isBase64(v):v=b64decode(v.decode())
# data_json[k]=v
# elif type(v)==str:
# if isBase64(v): v=b64decode(v.encode())
# data_json[k]=v
# elif type(v)==dict:
# data_json[k]=unpackage_from_transmission(v)
# return data_json
# Recursive dictionary merge

Loading…
Cancel
Save