X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Fstx_object.py;fp=o2ims%2Fdomain%2Fstx_object.py;h=73456944c58c40c453124a773f6057331e3ce676;hb=f1946a1e90036bb8a758b49f94ac4d3b40bae66e;hp=0a17092f94b48c7a4746c69cf039a7a32a2f8ec4;hpb=249a0dc9a44d8d515f186093bbd05bec330b7d09;p=pti%2Fo2.git diff --git a/o2ims/domain/stx_object.py b/o2ims/domain/stx_object.py index 0a17092..7345694 100644 --- a/o2ims/domain/stx_object.py +++ b/o2ims/domain/stx_object.py @@ -13,10 +13,14 @@ # limitations under the License. # from dataclasses import dataclass -import datetime +# import datetime import json +class MismatchedModel(Exception): + pass + + class StxGenericModel: def __init__(self, api_response: dict = None) -> None: if api_response: @@ -26,12 +30,14 @@ class StxGenericModel: self.createtime = api_response.created_at self.name = api_response.name - # def __init__(self, id: str, name: str, - # lastupdate: datetime, content: str) -> None: - # self.id = id - # self.name = name - # self.lastupdate = lastupdate - # self.content = content + def is_outdated(self, newmodel) -> bool: + return self.updatetime < newmodel.updatetime + + def update_by(self, newmodel) -> None: + if self.id != newmodel.id: + raise MismatchedModel("Mismatched model") + self.name = newmodel.name - def isChanged(self, updatetime: datetime) -> bool: - return True if self.updatetime > updatetime else False + self.content = newmodel.content + self.createtime = newmodel.createtime + self.updatetime = newmodel.updatetime