X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fparsers%2FJsonParser.py;h=c7a28bc1e412111393b36a216e1a189fb616779c;hp=0e78679ecc8239560847af12376a7a72345eab5b;hb=7829fea4a2c8936513fa95215b7d84997f814a69;hpb=44cafa8a265cfb1144638430079ef4dbf2501d72 diff --git a/resources/libraries/python/parsers/JsonParser.py b/resources/libraries/python/parsers/JsonParser.py index 0e78679ecc..c7a28bc1e4 100644 --- a/resources/libraries/python/parsers/JsonParser.py +++ b/resources/libraries/python/parsers/JsonParser.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# 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: @@ -14,10 +14,11 @@ """Used to parse JSON files or JSON data strings to dictionaries""" import json -from os import uname +from io import open -class JsonParser(object): + +class JsonParser: """Parses JSON data string or files containing JSON data strings""" def __init__(self): pass @@ -30,26 +31,9 @@ class JsonParser(object): :param json_data: Data in JSON format. :type json_data: str - :return: JSON data parsed as python list. + :returns: JSON data parsed as python list. :rtype: list """ - if "4.2.0-42-generic" in uname(): - # TODO: remove ugly workaround - # On Ubuntu14.04 the VAT console returns "error:misc" even after - # some commands execute correctly. This causes problems - # with parsing JSON data. - known_errors = ["sw_interface_dump error: Misc", - "lisp_eid_table_dump error: Misc", - "show_lisp_status error: Misc", - "lisp_map_resolver_dump error: Misc", - "show_lisp_pitr error: Misc", - "snat_static_mapping_dump error: Misc", - ] - for item in known_errors: - if item in json_data: - json_data = json_data.replace(item, "") - print("Removing API error: *{0}* " - "from JSON output.".format(item)) parsed_data = json.loads(json_data) return parsed_data @@ -62,9 +46,9 @@ class JsonParser(object): :param json_file: File with JSON type data. :type json_file: str - :return: JSON data parsed as python list. + :returns: JSON data parsed as python list. :rtype: list """ - input_data = open(json_file).read() + input_data = open(json_file, u"rt").read() parsed_data = JsonParser.parse_data(input_data) return parsed_data