X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2common%2Fdomain%2Fbase.py;fp=o2common%2Fdomain%2Fbase.py;h=130fdad9d3210274f9f63d9790bd5fe6dea02843;hb=9625c5b766377f641d9641471f10dd491a61447f;hp=63d1659d1413f68b8caf3ef7720ec3c5413ba40e;hpb=d14329a57d8d01d443e4158fa5030a5b5ada4060;p=pti%2Fo2.git diff --git a/o2common/domain/base.py b/o2common/domain/base.py index 63d1659..130fdad 100644 --- a/o2common/domain/base.py +++ b/o2common/domain/base.py @@ -15,11 +15,14 @@ from datetime import datetime from typing import List from sqlalchemy.inspection import inspect +from sqlalchemy.exc import NoInspectionAvailable from .events import Event class AgRoot: + events = [] + def __init__(self) -> None: self.hash = "" self.updatetime = datetime.now() @@ -27,17 +30,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):