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
|
2018-12-13 21:45:33 +01:00
|
|
|
print("OBJECT", obj)
|
2018-11-18 15:40:10 +01:00
|
|
|
try:
|
|
|
|
if isinstance(obj, DBModel):
|
|
|
|
return obj.__dict__
|
2018-12-13 21:45:33 +01:00
|
|
|
elif callable(getattr(obj, "reprJSON")):
|
|
|
|
return obj.reprJSON()
|
|
|
|
#elif isinstance(obj, ActorModel):
|
|
|
|
# return None
|
2018-11-18 15:40:10 +01:00
|
|
|
elif hasattr(obj, "callback"):
|
|
|
|
return obj()
|
|
|
|
else:
|
|
|
|
return None
|
|
|
|
except TypeError as e:
|
|
|
|
pass
|
|
|
|
return None
|