Add ocloud watcher and tests
[pti/o2.git] / o2ims / domain / stx_object.py
index 0a17092..7345694 100644 (file)
 #  limitations under the License.\r
 \r
 # from dataclasses import dataclass\r
-import datetime\r
+import datetime\r
 import json\r
 \r
 \r
+class MismatchedModel(Exception):\r
+    pass\r
+\r
+\r
 class StxGenericModel:\r
     def __init__(self, api_response: dict = None) -> None:\r
         if api_response:\r
@@ -26,12 +30,14 @@ class StxGenericModel:
             self.createtime = api_response.created_at\r
             self.name = api_response.name\r
 \r
-    # def __init__(self, id: str, name: str,\r
-    #              lastupdate: datetime, content: str) -> None:\r
-    #     self.id = id\r
-    #     self.name = name\r
-    #     self.lastupdate = lastupdate\r
-    #     self.content = content\r
+    def is_outdated(self, newmodel) -> bool:\r
+        return self.updatetime < newmodel.updatetime\r
+\r
+    def update_by(self, newmodel) -> None:\r
+        if self.id != newmodel.id:\r
+            raise MismatchedModel("Mismatched model")\r
+        self.name = newmodel.name\r
 \r
-    def isChanged(self, updatetime: datetime) -> bool:\r
-        return True if self.updatetime > updatetime else False\r
+        self.content = newmodel.content\r
+        self.createtime = newmodel.createtime\r
+        self.updatetime = newmodel.updatetime\r