okta/framework/Serializer.py (13 lines of code) (raw):
from json import dumps, JSONEncoder
from datetime import datetime
from okta.framework.Utils import Utils
class Serializer(JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('dt(%Y-%m-%dT%H:%M:%SZ)')
elif isinstance(obj, object):
no_nulls = Utils.remove_nulls(obj.__dict__)
formatted = Utils.replace_alt_names(obj, no_nulls)
return formatted
else:
return JSONEncoder.default(self, obj)