X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fparsers%2FJsonParser.py;h=0e78679ecc8239560847af12376a7a72345eab5b;hb=a114591eac9f52502048db886da2fb228c62254d;hp=50a920bee09c3c76eac92a361a62ec7f4ef02421;hpb=8c12ff59f1a5e750151f5eb0e806dcc80e91c3c2;p=csit.git diff --git a/resources/libraries/python/parsers/JsonParser.py b/resources/libraries/python/parsers/JsonParser.py index 50a920bee0..0e78679ecc 100644 --- a/resources/libraries/python/parsers/JsonParser.py +++ b/resources/libraries/python/parsers/JsonParser.py @@ -14,6 +14,7 @@ """Used to parse JSON files or JSON data strings to dictionaries""" import json +from os import uname class JsonParser(object): @@ -32,6 +33,23 @@ class JsonParser(object): :return: 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