X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2common%2Fdomain%2Fbase.py;h=d7c94cda78a2c604266057e8da4fa539aee4e886;hb=3da89330f3837ac6cffd2cad4c4018c9f8c3327d;hp=63d1659d1413f68b8caf3ef7720ec3c5413ba40e;hpb=44f01a560347914798d8f913696d0e495ee076f8;p=pti%2Fo2.git diff --git a/o2common/domain/base.py b/o2common/domain/base.py index 63d1659..d7c94cd 100644 --- a/o2common/domain/base.py +++ b/o2common/domain/base.py @@ -15,11 +15,15 @@ from datetime import datetime from typing import List from sqlalchemy.inspection import inspect +from sqlalchemy.exc import NoInspectionAvailable +# from sqlalchemy.orm.exc import DetachedInstanceError from .events import Event class AgRoot: + events = [] + def __init__(self) -> None: self.hash = "" self.updatetime = datetime.now() @@ -27,17 +31,23 @@ class AgRoot: self.events = [] # type: List[Event] # self.id = "" + # def append_event(self, event: Event): + # self.events = self.events.append(event) + class Serializer(object): def serialize(self): - # d = {c: getattr(self, c) for c in inspect(self).attrs.keys()} - # if 'createtime' in d: - # d['createtime'] = d['createtime'].isoformat() - # if 'updatetime' in d: - # d['updatetime'] = d['updatetime'].isoformat() - # return d - return {c: getattr(self, c) for c in inspect(self).attrs.keys()} + try: + # d = {c: getattr(self, c) for c in inspect(self).attrs.keys()} + # if 'createtime' in d: + # d['createtime'] = d['createtime'].isoformat() + # if 'updatetime' in d: + # d['updatetime'] = d['updatetime'].isoformat() + # return d + return {c: getattr(self, c) for c in inspect(self).attrs.keys()} + except NoInspectionAvailable: + return self.__dict__ @staticmethod def serialize_list(li):