fix(Interfaces): do not use JsonParser 00/40100/1
authorVratko Polak <vrpolak@cisco.com>
Wed, 13 Dec 2023 12:52:26 +0000 (13:52 +0100)
committerVratko Polak <vrpolak@cisco.com>
Wed, 13 Dec 2023 12:52:26 +0000 (13:52 +0100)
In past, there perhaps were Robot keywords needing JsonParser.
But now the single remaining call site can call json.loads directly.

+ Delete now unused resources/libraries/python/parsers/.

Change-Id: I9c5d94d6b320f917f1f621abb83556ebccadc3ec
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
resources/libraries/python/InterfaceUtil.py
resources/libraries/python/parsers/JsonParser.py [deleted file]
resources/libraries/python/parsers/__init__.py [deleted file]

index 13a0444..c62592e 100644 (file)
@@ -13,6 +13,7 @@
 
 """Interface util library."""
 
+from json import loads
 from time import sleep
 from enum import IntEnum
 
@@ -25,7 +26,6 @@ from resources.libraries.python.DUTSetup import DUTSetup
 from resources.libraries.python.IPAddress import IPAddress
 from resources.libraries.python.L2Util import L2Util
 from resources.libraries.python.PapiExecutor import PapiSocketExecutor
-from resources.libraries.python.parsers.JsonParser import JsonParser
 from resources.libraries.python.ssh import SSH, exec_cmd, exec_cmd_no_error
 from resources.libraries.python.topology import NodeType, Topology
 from resources.libraries.python.VPPUtil import VPPUtil
@@ -723,9 +723,8 @@ class InterfaceUtil:
         ret_code, stdout, _ = ssh.exec_command(cmd)
         if int(ret_code) != 0:
             raise RuntimeError(u"Get interface name and MAC failed")
-        tmp = u"{" + stdout.rstrip().replace(u"\n", u",") + u"}"
 
-        interfaces = JsonParser().parse_data(tmp)
+        interfaces = loads("{" + stdout.rstrip().replace("\n", ",") + "}")
         for interface in node[u"interfaces"].values():
             name = interfaces.get(interface[u"mac_address"])
             if name is None:
diff --git a/resources/libraries/python/parsers/JsonParser.py b/resources/libraries/python/parsers/JsonParser.py
deleted file mode 100644 (file)
index c7a28bc..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# 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.
-
-"""Used to parse JSON files or JSON data strings to dictionaries"""
-
-import json
-
-from io import open
-
-
-class JsonParser:
-    """Parses JSON data string or files containing JSON data strings"""
-    def __init__(self):
-        pass
-
-    @staticmethod
-    def parse_data(json_data):
-        """Return list parsed from JSON data string.
-
-        Translates JSON data into list of values/dictionaries/lists.
-
-        :param json_data: Data in JSON format.
-        :type json_data: str
-        :returns: JSON data parsed as python list.
-        :rtype: list
-        """
-        parsed_data = json.loads(json_data)
-        return parsed_data
-
-    @staticmethod
-    def parse_file(json_file):
-        """Return list parsed from file containing JSON string.
-
-        Translates JSON data found in file into list of
-        values/dictionaries/lists.
-
-        :param json_file: File with JSON type data.
-        :type json_file: str
-        :returns: JSON data parsed as python list.
-        :rtype: list
-        """
-        input_data = open(json_file, u"rt").read()
-        parsed_data = JsonParser.parse_data(input_data)
-        return parsed_data
diff --git a/resources/libraries/python/parsers/__init__.py b/resources/libraries/python/parsers/__init__.py
deleted file mode 100644 (file)
index 1b58a3c..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# 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.
-
-"""
-__init__ file for resources/libraries/python/parsers
-"""