From c4511ad39a98d089d3fe0832eb9b7412cc454260 Mon Sep 17 00:00:00 2001 From: Matthew Stidham Date: Mon, 8 Nov 2021 18:52:03 -0800 Subject: [PATCH] Fix LFRequest.get so it inherits debug commands from the class Signed-off-by: Matthew Stidham --- py-json/LANforge/LFRequest.py | 47 +++++++++++++++------------------- py-json/LANforge/LFUtils.py | 41 +++++++++++++++-------------- py-json/LANforge/lfcli_base.py | 2 +- 3 files changed, 41 insertions(+), 49 deletions(-) diff --git a/py-json/LANforge/LFRequest.py b/py-json/LANforge/LFRequest.py index 7de51adc..edb85817 100644 --- a/py-json/LANforge/LFRequest.py +++ b/py-json/LANforge/LFRequest.py @@ -6,7 +6,7 @@ import logging import sys import os -from pprint import pprint, pformat, PrettyPrinter +from pprint import pformat, PrettyPrinter import urllib from urllib import request import json @@ -220,16 +220,10 @@ class LFRequest: method_='PUT') def json_delete(self, show_error=True, debug=False, die_on_error_=False, response_json_list_=None): - return self.get_as_json(debug_=debug, - die_on_error_=die_on_error_, - method_='DELETE') + return self.get_as_json(method_='DELETE') - def get(self, debug=False, die_on_error_=False, method_='GET'): - if self.debug == True: - debug = True - if self.die_on_error == True: - die_on_error_ = True - if debug: + def get(self, method_='GET'): + if self.debug: self.logger.debug("LFUtils.get: url: "+self.requested_url) # https://stackoverflow.com/a/59635684/11014343 @@ -239,8 +233,8 @@ class LFRequest: request.install_opener(opener) myrequest = request.Request(url=self.requested_url, - headers=self.default_headers, - method=method_) + headers=self.default_headers, + method=method_) myresponses = [] try: myresponses.append(request.urlopen(myrequest)) @@ -252,7 +246,7 @@ class LFRequest: responses_=myresponses, error_=error, error_list_=self.error_list, - debug_=debug) + debug_=self.debug) except urllib.error.URLError as uerror: print_diagnostics(url_=self.requested_url, @@ -260,24 +254,23 @@ class LFRequest: responses_=myresponses, error_=uerror, error_list_=self.error_list, - debug_=debug) + debug_=self.debug) - if die_on_error_ == True: + if self.die_on_error is True: exit(1) return None - def getAsJson(self, die_on_error_=False, debug_=False): - return self.get_as_json(die_on_error_=die_on_error_, debug_=debug_) + def getAsJson(self): + return self.get_as_json() - def get_as_json(self, die_on_error_=False, debug_=False, method_='GET'): - responses = [] - j = self.get(debug=debug_, die_on_error_=die_on_error_, method_=method_) - responses.append(j) + def get_as_json(self, method_='GET'): + responses = list() + responses.append(self.get(method_=method_)) if len(responses) < 1: - if debug_ and self.has_errors(): + if self.debug and self.has_errors(): self.print_errors() return None - if responses[0] == None: + if responses[0] is None: self.logger.debug("No response from "+self.requested_url) return None json_data = json.loads(responses[0].read().decode('utf-8')) @@ -355,7 +348,7 @@ def print_diagnostics(url_=None, request_=None, responses_=None, error_=None, er logger.warning("WARNING LFRequest::print_diagnostics: error_ is None") method = 'NA' - if (hasattr(request_, 'method')): + if hasattr(request_, 'method'): method = request_.method err_code = 0 err_reason = 'NA' @@ -373,7 +366,7 @@ def print_diagnostics(url_=None, request_=None, responses_=None, error_=None, er if err_code == 404: xerrors.append("[%s HTTP %s] <%s> : %s" % (method, err_code, err_full_url, err_reason)) else: - if (len(err_headers) > 0): + if len(err_headers) > 0: for headername in sorted(err_headers.keys()): if headername.startswith("X-Error-"): xerrors.append("%s: %s" % (headername, err_headers.get(headername))) @@ -386,7 +379,7 @@ def print_diagnostics(url_=None, request_=None, responses_=None, error_=None, er error_list_.append(xerr) logger.error(" = = = = = = = = = = = = = = = =") - if (error_.__class__ is urllib.error.HTTPError): + if error_.__class__ is urllib.error.HTTPError: logger.debug("----- LFRequest: HTTPError: --------------------------------------------") logger.debug("%s <%s> HTTP %s: %s" % (method, err_full_url, err_code, err_reason)) @@ -415,7 +408,7 @@ def print_diagnostics(url_=None, request_=None, responses_=None, error_=None, er logger.debug("------------------------------------------------------------------------") return - if (error_.__class__ is urllib.error.URLError): + if error_.__class__ is urllib.error.URLError: logger.error("----- LFRequest: URLError: ---------------------------------------------") logger.error("%s <%s> HTTP %s: %s" % (method, err_full_url, err_code, err_reason)) logger.error("------------------------------------------------------------------------") diff --git a/py-json/LANforge/LFUtils.py b/py-json/LANforge/LFUtils.py index 95d97270..8d073f9c 100644 --- a/py-json/LANforge/LFUtils.py +++ b/py-json/LANforge/LFUtils.py @@ -18,7 +18,6 @@ if sys.version_info[0] != 3: print("This script requires Python 3") exit() - sys.path.append(os.path.join(os.path.abspath(__file__ + "../../../../"))) LFRequest = importlib.import_module("py-json.LANforge.LFRequest") @@ -421,9 +420,9 @@ def find_port_eids(resource_id=1, base_url="http://localhost:8080", port_names=( port_url = "/port/1" for port_name in port_names: uri = "%s/%s/%s" % (port_url, resource_id, port_name) - lf_r = LFRequest.LFRequest(base_url, uri) + lf_r = LFRequest.LFRequest(base_url, uri, debug_=debug) try: - response = lf_r.getAsJson(debug) + response = lf_r.getAsJson() if response is None: continue port_eids.append(PortEID(response)) @@ -445,8 +444,8 @@ def wait_until_ports_admin_down(resource_id=1, base_url="http://localhost:8080", up_stations = [] for port_name in port_list: uri = "%s/%s/%s?fields=device,down" % (port_url, resource_id, port_name) - lf_r = LFRequest.LFRequest(base_url, uri) - json_response = lf_r.getAsJson(debug_=False) + lf_r = LFRequest.LFRequest(base_url, uri, debug_=debug_) + json_response = lf_r.getAsJson() if json_response == None: if debug_: print("port %s disappeared" % port_name) @@ -472,8 +471,8 @@ def wait_until_ports_admin_up(resource_id=1, base_url="http://localhost:8080", p down_stations = [] for port_name in port_list: uri = "%s/%s/%s?fields=device,down" % (port_url, resource_id, port_name) - lf_r = LFRequest.LFRequest(base_url, uri) - json_response = lf_r.getAsJson(debug_=False) + lf_r = LFRequest.LFRequest(base_url, uri, debug_=debug_) + json_response = lf_r.getAsJson() if json_response == None: if debug_: print("port %s appeared" % port_name) @@ -525,8 +524,8 @@ def wait_until_ports_disappear(base_url="http://localhost:8080", port_list=(), d ("check_url", check_url), ]) lf_r = LFRequest.LFRequest(base_url, check_url, debug_=debug) - json_response = lf_r.get_as_json(debug_=debug, die_on_error_=False) - if (json_response == None): + json_response = lf_r.get_as_json() + if json_response is None: print("LFUtils::wait_until_ports_disappear:: Request returned None: [{}]".format(base_url + check_url)) else: if debug: @@ -635,15 +634,15 @@ def wait_until_ports_appear(base_url="http://localhost:8080", port_list=(), debu port_name = eid[2] # print("waiting for sta sta "+port_eid) uri = "%s/%s/%s" % (port_url, resource_id, port_name) - lf_r = LFRequest.LFRequest(base_url, uri) - json_response = lf_r.getAsJson(debug_=False) - if (json_response != None): + lf_r = LFRequest.LFRequest(base_url, uri, debug_=debug) + json_response = lf_r.getAsJson() + if json_response is not None: found_stations.append(port_name) else: - lf_r = LFRequest.LFRequest(base_url, ncshow_url) + lf_r = LFRequest.LFRequest(base_url, ncshow_url, debug_=debug) lf_r.addPostData({"shelf": shelf, "resource": resource_id, "port": port_name, "probe_flags": 5}) lf_r.jsonPost() - if (len(found_stations) < len(port_list)): + if len(found_stations) < len(port_list): sleep(2) if debug: @@ -676,12 +675,12 @@ def wait_until_endps(base_url="http://localhost:8080", endp_list=(), debug=False port_name = eid[2] uri = "%s/%s/%s" % (port_url, resource_id, port_name) - lf_r = LFRequest.LFRequest(base_url, uri) - json_response = lf_r.getAsJson(debug_=False) - if (json_response != None): + lf_r = LFRequest.LFRequest(base_url, uri, debug_=debug) + json_response = lf_r.getAsJson() + if json_response is not None: found_stations.append(port_name) else: - lf_r = LFRequest.LFRequest(base_url, ncshow_url) + lf_r = LFRequest.LFRequest(base_url, ncshow_url, debug_=debug) lf_r.addPostData({"shelf": shelf, "resource": resource_id, "port": port_name, "flags": 1}) lf_r.formPost() if (len(found_stations) < len(endp_list)): @@ -700,7 +699,7 @@ def remove_port(resource, port_name, baseurl="http://localhost:8080/", debug=Fal if debug: print("Removing port %d.%s" % (resource, port_name)) url = "/cli-json/rm_vlan" - lf_r = LFRequest.LFRequest(baseurl, url) + lf_r = LFRequest.LFRequest(baseurl, url, debug_=debug) lf_r.addPostData({ "shelf": 1, "resource": resource, @@ -722,7 +721,7 @@ def remove_cx(baseurl, cx_names, debug=False): "test_mgr": "all", "cx_name": name } - lf_r = LFRequest.LFRequest(baseurl, url) + lf_r = LFRequest.LFRequest(baseurl, url, debug_=debug) lf_r.addPostData(data) lf_r.jsonPost(debug) @@ -735,7 +734,7 @@ def remove_endps(baseurl, endp_names, debug=False): if debug: print("Removing endp %s" % ", ".join(endp_names)) url = "/cli-json/rm_endp" - lf_r = LFRequest.LFRequest(baseurl, url) + lf_r = LFRequest.LFRequest(baseurl, url, debug_=debug) for name in endp_names: data = { "endp_name": name diff --git a/py-json/LANforge/lfcli_base.py b/py-json/LANforge/lfcli_base.py index 14d251c6..9a6c639b 100644 --- a/py-json/LANforge/lfcli_base.py +++ b/py-json/LANforge/lfcli_base.py @@ -321,7 +321,7 @@ class LFCliBase: proxies_=self.proxy, debug_=debug_, die_on_error_=self.exit_on_error) - json_response = lf_r.get_as_json(debug_=debug_, die_on_error_=False) + json_response = lf_r.get_as_json() #debug_printer.pprint(json_response) if (json_response is None): if debug_: