craftbeerpi4-pione/core/utils/encoder.py

27 lines
615 B
Python
Raw Normal View History

2018-11-18 15:40:10 +01:00
from json import JSONEncoder
class ComplexEncoder(JSONEncoder):
def default(self, obj):
from core.database.model import ActorModel
from core.database.orm_framework import DBModel
from core.api.kettle_logic import CBPiKettleLogic
try:
if isinstance(obj, DBModel):
return obj.__dict__
elif isinstance(obj, ActorModel):
return None
elif hasattr(obj, "callback"):
return obj()
else:
return None
except TypeError as e:
pass
return None