craftbeerpi4-pione/cbpi/utils/encoder.py
2023-01-22 16:37:10 +01:00

24 lines
639 B
Python

import datetime
from json import JSONEncoder
from pandas import Timestamp
class ComplexEncoder(JSONEncoder):
def default(self, obj):
try:
if hasattr(obj, "to_json") and callable(getattr(obj, "to_json")):
return obj.to_json()
elif isinstance(obj, datetime.datetime):
return obj.__str__()
elif isinstance(obj, Timestamp):
#print("TIMe")
return obj.__str__()
else:
#print(type(obj))
raise TypeError()
except Exception as e:
pass
return None