X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Fstx_object.py;h=ea0fc3d3ab3dde6c1bdd5c84d29dff1c8f2782e9;hb=defe8209b3628593c186487857fe02586d7e1503;hp=be668b6c760ed328829d3eb2c964edacd78950ee;hpb=1c5999c04742b704a3b78fe9acecba09d41f0d11;p=pti%2Fo2.git diff --git a/o2ims/domain/stx_object.py b/o2ims/domain/stx_object.py index be668b6..ea0fc3d 100644 --- a/o2ims/domain/stx_object.py +++ b/o2ims/domain/stx_object.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 dataclasses import dataclass -import datetime -import json -from o2common.domain.base import AgRoot - -from o2ims.domain.resource_type import ResourceTypeEnum, MismatchedModel -from o2common.helper import o2logging -logger = o2logging.get_logger(__name__) - - -class StxGenericModel(AgRoot): - def __init__(self, type: ResourceTypeEnum, - api_response: dict = None, content_hash=None) -> None: - super().__init__() - if api_response: - self.id = str(api_response.uuid) - self.type = type - self.updatetime = datetime.datetime.strptime( - api_response.updated_at.split('.')[0], "%Y-%m-%dT%H:%M:%S") \ - if api_response.updated_at else None - self.createtime = datetime.datetime.strptime( - api_response.created_at.split('.')[0], "%Y-%m-%dT%H:%M:%S") \ - if api_response.created_at else None - self.name = api_response.name - self.hash = content_hash if content_hash \ - else str(hash((self.id, self.updatetime))) - self.content = json.dumps(api_response.to_dict()) - - def is_outdated(self, newmodel) -> bool: - # return self.updatetime < newmodel.updatetime - # logger.warning("hash1: " + self.hash + " vs hash2: " + newmodel.hash) - return self.hash != newmodel.hash - - def update_by(self, newmodel) -> None: - if self.id != newmodel.id: - raise MismatchedModel("Mismatched model") - self.name = newmodel.name - self.createtime = newmodel.createtime - self.updatetime = newmodel.updatetime - self.content = newmodel.content +# 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 dataclasses import dataclass +import datetime +import json +from o2common.domain.base import AgRoot + +from o2ims.domain.resource_type import ResourceTypeEnum, MismatchedModel +from o2common.helper import o2logging +logger = o2logging.get_logger(__name__) + + +class StxGenericModel(AgRoot): + def __init__(self, type: ResourceTypeEnum, + api_response: dict = None, content_hash=None) -> None: + super().__init__() + if api_response: + self.id = str(api_response.uuid) + self.type = type + self.updatetime = datetime.datetime.strptime( + api_response.updated_at.split('.')[0], "%Y-%m-%dT%H:%M:%S") \ + if api_response.updated_at else None + self.createtime = datetime.datetime.strptime( + api_response.created_at.split('.')[0], "%Y-%m-%dT%H:%M:%S") \ + if api_response.created_at else None + self.name = api_response.name + self.hash = content_hash if content_hash \ + else str(hash((self.id, self.updatetime))) + self.content = json.dumps(api_response.to_dict()) + + def is_outdated(self, newmodel) -> bool: + # return self.updatetime < newmodel.updatetime + # logger.warning("hash1: " + self.hash + " vs hash2: " + newmodel.hash) + return self.hash != newmodel.hash + + def update_by(self, newmodel) -> None: + if self.id != newmodel.id: + raise MismatchedModel("Mismatched model") + self.name = newmodel.name + self.createtime = newmodel.createtime + self.updatetime = newmodel.updatetime + self.content = newmodel.content