from datetime import datetime\r
from typing import List\r
from sqlalchemy.inspection import inspect\r
+from sqlalchemy.exc import NoInspectionAvailable\r
from .events import Event\r
\r
\r
class AgRoot:\r
\r
+ events = []\r
+\r
def __init__(self) -> None:\r
self.hash = ""\r
self.updatetime = datetime.now()\r
self.events = [] # type: List[Event]\r
# self.id = ""\r
\r
+ # def append_event(self, event: Event):\r
+ # self.events = self.events.append(event)\r
+\r
\r
class Serializer(object):\r
\r
def serialize(self):\r
- # d = {c: getattr(self, c) for c in inspect(self).attrs.keys()}\r
- # if 'createtime' in d:\r
- # d['createtime'] = d['createtime'].isoformat()\r
- # if 'updatetime' in d:\r
- # d['updatetime'] = d['updatetime'].isoformat()\r
- # return d\r
- return {c: getattr(self, c) for c in inspect(self).attrs.keys()}\r
+ try:\r
+ # d = {c: getattr(self, c) for c in inspect(self).attrs.keys()}\r
+ # if 'createtime' in d:\r
+ # d['createtime'] = d['createtime'].isoformat()\r
+ # if 'updatetime' in d:\r
+ # d['updatetime'] = d['updatetime'].isoformat()\r
+ # return d\r
+ return {c: getattr(self, c) for c in inspect(self).attrs.keys()}\r
+ except NoInspectionAvailable:\r
+ return self.__dict__\r
\r
@staticmethod\r
def serialize_list(li):\r