INMARSAT-54 Honeycomb configures PBB
[csit.git] / resources / libraries / python / honeycomb / HoneycombUtil.py
index 644cf62..f2f012e 100644 (file)
@@ -86,7 +86,6 @@ class HoneycombError(Exception):
         self._msg = "{0}: {1}".format(self.__class__.__name__, msg)
         self._details = details
         if enable_logging:
-            logger.error(self._msg)
             logger.debug(self._details)
 
     def __repr__(self):
@@ -285,24 +284,27 @@ class HoneycombUtil(object):
         return origin_data
 
     @staticmethod
-    def get_honeycomb_data(node, url_file):
+    def get_honeycomb_data(node, url_file, path=""):
         """Retrieve data from Honeycomb according to given URL.
 
         :param node: Honeycomb node.
         :param url_file: URL file. The argument contains only the name of file
         without extension, not the full path.
+        :param path: Path which is added to the base path to identify the data.
         :type node: dict
         :type url_file: str
+        :type path: str
         :return: Status code and content of response.
         :rtype tuple
         """
 
-        path = HoneycombUtil.read_path_from_url_file(url_file)
+        base_path = HoneycombUtil.read_path_from_url_file(url_file)
+        path = base_path + path
         status_code, resp = HTTPRequest.get(node, path)
         return status_code, loads(resp)
 
     @staticmethod
-    def put_honeycomb_data(node, url_file, data,
+    def put_honeycomb_data(node, url_file, data, path="",
                            data_representation=DataRepresentation.JSON):
         """Send configuration data using PUT request and return the status code
         and response content.
@@ -311,10 +313,12 @@ class HoneycombUtil(object):
         :param url_file: URL file. The argument contains only the name of file
         without extension, not the full path.
         :param data: Configuration data to be sent to Honeycomb.
+        :param path: Path which is added to the base path to identify the data.
         :param data_representation: How the data is represented.
         :type node: dict
         :type url_file: str
         :type data: dict, str
+        :type path: str
         :type data_representation: DataRepresentation
         :return: Status code and content of response.
         :rtype: tuple
@@ -330,7 +334,11 @@ class HoneycombUtil(object):
         if data_representation == DataRepresentation.JSON:
             data = dumps(data)
 
-        path = HoneycombUtil.read_path_from_url_file(url_file)
+        logger.trace(data)
+
+        base_path = HoneycombUtil.read_path_from_url_file(url_file)
+        path = base_path + path
+        logger.trace(path)
         return HTTPRequest.put(node=node, path=path, headers=header,
                                payload=data)
 
@@ -371,17 +379,20 @@ class HoneycombUtil(object):
                                 payload=data, timeout=timeout)
 
     @staticmethod
-    def delete_honeycomb_data(node, url_file):
+    def delete_honeycomb_data(node, url_file, path=""):
         """Delete data from Honeycomb according to given URL.
 
         :param node: Honeycomb node.
         :param url_file: URL file. The argument contains only the name of file
         without extension, not the full path.
+        :param path: Path which is added to the base path to identify the data.
         :type node: dict
         :type url_file: str
+        :type path: str
         :return: Status code and content of response.
         :rtype tuple
         """
 
-        path = HoneycombUtil.read_path_from_url_file(url_file)
+        base_path = HoneycombUtil.read_path_from_url_file(url_file)
+        path = base_path + path
         return HTTPRequest.delete(node, path)