X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2common%2Fdomain%2Fbase.py;h=e56672b89a13afcb4fd3c359fb275c5ce13a43a4;hb=refs%2Fchanges%2F99%2F8199%2F1;hp=d7c94cda78a2c604266057e8da4fa539aee4e886;hpb=1c5999c04742b704a3b78fe9acecba09d41f0d11;p=pti%2Fo2.git diff --git a/o2common/domain/base.py b/o2common/domain/base.py index d7c94cd..e56672b 100644 --- a/o2common/domain/base.py +++ b/o2common/domain/base.py @@ -1,54 +1,54 @@ -# Copyright (C) 2021 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -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() - self.createtime = datetime.now() - 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): - 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): - return [m.serialize() for m in li] +# Copyright (C) 2021 Wind River Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +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() + self.createtime = datetime.now() + 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): + 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): + return [m.serialize() for m in li]