py-json: makes LFRequest.post_data singular, improves error output

This commit is contained in:
Jed Reynolds
2019-10-30 18:22:38 -07:00
parent 9d70b6c469
commit 82df554e75

View File

@@ -16,8 +16,9 @@ from LANforge import LFUtils
class LFRequest: class LFRequest:
Default_Base_URL = "http://localhost:8080" Default_Base_URL = "http://localhost:8080"
No_Data = {'No Data':0}
requested_url = "" requested_url = ""
post_datas = [] post_data = No_Data
default_headers = { default_headers = {
'Accept': 'application/json'} 'Accept': 'application/json'}
@@ -28,8 +29,8 @@ class LFRequest:
def formPost(self, show_error=True): def formPost(self, show_error=True):
responses = [] responses = []
urlenc_data = "" urlenc_data = ""
if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): if ((self.post_data != None) and (self.post_data is not self.No_Data)):
urlenc_data = urllib.parse.urlencode(self.post_datas.pop(0)).encode("utf-8") urlenc_data = urllib.parse.urlencode(self.post_data).encode("utf-8")
#print("data looks like:" + str(urlenc_data)) #print("data looks like:" + str(urlenc_data))
request = urllib.request.Request(url=self.requested_url, request = urllib.request.Request(url=self.requested_url,
data=urlenc_data, data=urlenc_data,
@@ -45,6 +46,8 @@ class LFRequest:
except urllib.error.HTTPError: except urllib.error.HTTPError:
if (show_error): if (show_error):
print("-------------------------------------------------------------") print("-------------------------------------------------------------")
print("Url: "+request.get_full_url())
print("Error: ", sys.exc_info()[0])
print("Request URL:") print("Request URL:")
LFUtils.debug_printer.pprint(request.get_full_url()) LFUtils.debug_printer.pprint(request.get_full_url())
print("Request Content-type:") print("Request Content-type:")
@@ -63,9 +66,9 @@ class LFRequest:
def jsonPost(self, show_error=True): def jsonPost(self, show_error=True):
responses = [] responses = []
if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): if ((self.post_data != None) and (self.post_data is not self.No_Data)):
request = urllib.request.Request(url=self.requested_url, request = urllib.request.Request(url=self.requested_url,
data=json.dumps(self.post_datas.pop(0)).encode("utf-8"), data=json.dumps(self.post_data).encode("utf-8"),
headers=self.default_headers) headers=self.default_headers)
else: else:
request = urllib.request.Request(url=self.requested_url, headers=self.default_headers) request = urllib.request.Request(url=self.requested_url, headers=self.default_headers)
@@ -78,6 +81,8 @@ class LFRequest:
except urllib.error.HTTPError: except urllib.error.HTTPError:
if (show_error): if (show_error):
print("-------------------------------------------------------------") print("-------------------------------------------------------------")
print("Url: "+request.get_full_url())
print("Error: ", sys.exc_info()[0])
print("Request URL:") print("Request URL:")
LFUtils.debug_printer.pprint(request.get_full_url()) LFUtils.debug_printer.pprint(request.get_full_url())
print("Request Content-type:") print("Request Content-type:")
@@ -119,7 +124,7 @@ class LFRequest:
json_data = json.loads(responses[0].read()) json_data = json.loads(responses[0].read())
return json_data return json_data
def addPostData(self, post_data): def addPostData(self, data):
self.post_datas.append(post_data) self.post_data = data
# ~LFRequest # ~LFRequest