Convert file endlines to Unix (LF)
[pti/o2.git] / o2common / service / watcher / base.py
index 6e1eb9e..0807eec 100644 (file)
@@ -1,96 +1,96 @@
-# Copyright (C) 2021 Wind River Systems, Inc.\r
-#\r
-#  Licensed under the Apache License, Version 2.0 (the "License");\r
-#  you may not use this file except in compliance with the License.\r
-#  You may obtain a copy of the License at\r
-#\r
-#      http://www.apache.org/licenses/LICENSE-2.0\r
-#\r
-#  Unless required by applicable law or agreed to in writing, software\r
-#  distributed under the License is distributed on an "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-#  See the License for the specific language governing permissions and\r
-#  limitations under the License.\r
-\r
-# from logging import exception\r
-# from cgtsclient import exc\r
-from o2common.service.client.base_client import BaseClient\r
-from o2common.domain import commands\r
-from o2common.service.messagebus import MessageBus\r
-from o2common.helper import o2logging\r
-logger = o2logging.get_logger(__name__)\r
-\r
-\r
-class BaseWatcher(object):\r
-    def __init__(self, client: BaseClient,\r
-                 bus: MessageBus) -> None:\r
-        super().__init__()\r
-        self._client = client\r
-        self._bus = bus\r
-        # self._uow = bus.uow\r
-\r
-    def targetname(self) -> str:\r
-        return self._targetname()\r
-\r
-    def probe(self, parent: commands.Command = None):\r
-        try:\r
-            cmds = self._probe(parent.data if parent else None)\r
-            for cmd in cmds:\r
-                self._bus.handle(cmd)\r
-\r
-            # return self._probe(parent)\r
-            return cmds\r
-        except Exception as ex:\r
-            logger.warning("Failed to probe resource due to: " + str(ex))\r
-            return []\r
-\r
-    def _probe(self, parent: object = None) -> commands.Command:\r
-        raise NotImplementedError\r
-\r
-    def _targetname(self):\r
-        raise NotImplementedError\r
-\r
-    # def _compare_and_update(self, newmodel: StxGenericModel) -> bool:\r
-    #     with self._uow:\r
-    #         # localmodel = self._uow.stxobjects.get(ocloudmodel.id)\r
-    #         localmodel = self._uow.stxobjects.get(str(newmodel.id))\r
-    #         if not localmodel:\r
-    #             logger.info("add entry:" + newmodel.name)\r
-    #             self._uow.stxobjects.add(newmodel)\r
-    #         elif localmodel.is_outdated(newmodel):\r
-    #             logger.info("update entry:" + newmodel.name)\r
-    #             localmodel.update_by(newmodel)\r
-    #             self._uow.stxobjects.update(localmodel)\r
-    #         self._uow.commit()\r
-\r
-\r
-# node to organize watchers in tree hierachy\r
-class WatcherTree(object):\r
-    def __init__(self, watcher: BaseWatcher) -> None:\r
-        super().__init__()\r
-        self.watcher = watcher\r
-        self.children = {}\r
-\r
-    def addchild(self, watcher: BaseWatcher) -> object:\r
-        child = WatcherTree(watcher)\r
-        self.children[watcher.targetname()] = child\r
-        return child\r
-\r
-    def removechild(self, targetname: str) -> object:\r
-        return self.children.pop(targetname)\r
-\r
-    # probe all resources by parent, depth = 0 for indefinite recursive\r
-    def probe(self, parentresource=None, depth: int = 0):\r
-        logger.debug("probe resources with watcher: "\r
-                     + self.watcher.targetname())\r
-        childdepth = depth - 1 if depth > 0 else 0\r
-        resources = self.watcher.probe(parentresource)\r
-        logger.debug("probe returns " + str(len(resources)) + " resources")\r
-\r
-        if depth == 1:\r
-            # stop recursive\r
-            return\r
-\r
-        for res in resources:\r
-            for targetname in self.children.keys():\r
-                self.children[targetname].probe(res, childdepth)\r
+# 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 logging import exception
+# from cgtsclient import exc
+from o2common.service.client.base_client import BaseClient
+from o2common.domain import commands
+from o2common.service.messagebus import MessageBus
+from o2common.helper import o2logging
+logger = o2logging.get_logger(__name__)
+
+
+class BaseWatcher(object):
+    def __init__(self, client: BaseClient,
+                 bus: MessageBus) -> None:
+        super().__init__()
+        self._client = client
+        self._bus = bus
+        # self._uow = bus.uow
+
+    def targetname(self) -> str:
+        return self._targetname()
+
+    def probe(self, parent: commands.Command = None):
+        try:
+            cmds = self._probe(parent.data if parent else None)
+            for cmd in cmds:
+                self._bus.handle(cmd)
+
+            # return self._probe(parent)
+            return cmds
+        except Exception as ex:
+            logger.warning("Failed to probe resource due to: " + str(ex))
+            return []
+
+    def _probe(self, parent: object = None) -> commands.Command:
+        raise NotImplementedError
+
+    def _targetname(self):
+        raise NotImplementedError
+
+    # def _compare_and_update(self, newmodel: StxGenericModel) -> bool:
+    #     with self._uow:
+    #         # localmodel = self._uow.stxobjects.get(ocloudmodel.id)
+    #         localmodel = self._uow.stxobjects.get(str(newmodel.id))
+    #         if not localmodel:
+    #             logger.info("add entry:" + newmodel.name)
+    #             self._uow.stxobjects.add(newmodel)
+    #         elif localmodel.is_outdated(newmodel):
+    #             logger.info("update entry:" + newmodel.name)
+    #             localmodel.update_by(newmodel)
+    #             self._uow.stxobjects.update(localmodel)
+    #         self._uow.commit()
+
+
+# node to organize watchers in tree hierachy
+class WatcherTree(object):
+    def __init__(self, watcher: BaseWatcher) -> None:
+        super().__init__()
+        self.watcher = watcher
+        self.children = {}
+
+    def addchild(self, watcher: BaseWatcher) -> object:
+        child = WatcherTree(watcher)
+        self.children[watcher.targetname()] = child
+        return child
+
+    def removechild(self, targetname: str) -> object:
+        return self.children.pop(targetname)
+
+    # probe all resources by parent, depth = 0 for indefinite recursive
+    def probe(self, parentresource=None, depth: int = 0):
+        logger.debug("probe resources with watcher: "
+                     + self.watcher.targetname())
+        childdepth = depth - 1 if depth > 0 else 0
+        resources = self.watcher.probe(parentresource)
+        logger.debug("probe returns " + str(len(resources)) + " resources")
+
+        if depth == 1:
+            # stop recursive
+            return
+
+        for res in resources:
+            for targetname in self.children.keys():
+                self.children[targetname].probe(res, childdepth)