mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 10:48:02 +00:00 
			
		
		
		
	py-json: working example of creating and destroying stations
This commit is contained in:
		| @@ -1,5 +1,5 @@ | ||||
| # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||
| # Class holds default settings for json requests               - | ||||
| # Class holds default settings for json requests                - | ||||
| # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||
| import sys | ||||
|  | ||||
| @@ -13,75 +13,73 @@ import json | ||||
|  | ||||
|  | ||||
| class LFRequest: | ||||
|    Default_Base_URL = "http://localhost:8080" | ||||
|    requested_urls = [] | ||||
|    post_datas = [] | ||||
|    default_headers = { | ||||
|       'Accept': 'application/json'} | ||||
|     Default_Base_URL = "http://localhost:8080" | ||||
|     requested_urls = [] | ||||
|     post_datas = [] | ||||
|     default_headers = { | ||||
|         'Accept': 'application/json'} | ||||
|  | ||||
|    def __init__(self, urls): | ||||
|       self.requested_urls.append(urls) | ||||
|     def __init__(self, urls): | ||||
|         self.requested_urls.append(urls) | ||||
|  | ||||
|    # request first url on stack | ||||
|    def formPost(self): | ||||
|       responses = [] | ||||
|       urlenc_data = "" | ||||
|       if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): | ||||
|          urlenc_data = urllib.parse.urlencode(self.post_datas.pop(0)).encode("utf-8") | ||||
|          print("data looks like:"+str(urlenc_data)) | ||||
|          request = urllib.request.Request(url=self.requested_urls.pop(0), | ||||
|                                           data=urlenc_data, | ||||
|                                           headers=self.default_headers) | ||||
|       else: | ||||
|          request = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|          print("No data for this jsonPost?") | ||||
|     # request first url on stack | ||||
|     def formPost(self): | ||||
|         responses = [] | ||||
|         urlenc_data = "" | ||||
|         if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): | ||||
|             urlenc_data = urllib.parse.urlencode(self.post_datas.pop(0)).encode("utf-8") | ||||
|             #print("data looks like:" + str(urlenc_data)) | ||||
|             request = urllib.request.Request(url=self.requested_urls.pop(0), | ||||
|                                              data=urlenc_data, | ||||
|                                              headers=self.default_headers) | ||||
|         else: | ||||
|             request = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|             print("No data for this jsonPost?") | ||||
|  | ||||
|       request.headers['Content-type'] = 'application/x-www-form-urlencoded' | ||||
|       responses.append(urllib.request.urlopen(request)) | ||||
|       return responses[0] | ||||
|         request.headers['Content-type'] = 'application/x-www-form-urlencoded' | ||||
|         responses.append(urllib.request.urlopen(request)) | ||||
|         return responses[0] | ||||
|  | ||||
|    def jsonPost(self): | ||||
|       responses = [] | ||||
|       if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): | ||||
|          request = urllib.request.Request(url=self.requested_urls.pop(0), | ||||
|                                           data=self.post_datas.pop(0), | ||||
|                                           headers=self.default_headers) | ||||
|       else: | ||||
|          request = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|          print("No data for this jsonPost?") | ||||
|     def jsonPost(self): | ||||
|         responses = [] | ||||
|         if ((len(self.post_datas) > 0) and (self.post_datas[0] != None)): | ||||
|             request = urllib.request.Request(url=self.requested_urls.pop(0), | ||||
|                                              data=json.dumps(self.post_datas.pop(0)).encode("utf-8"), | ||||
|                                              headers=self.default_headers) | ||||
|         else: | ||||
|             request = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|             print("No data for this jsonPost?") | ||||
|  | ||||
|       request.headers['Content-type'] = 'application/json' | ||||
|       responses.append(urllib.request.urlopen(request)) | ||||
|       return responses[0] | ||||
|         request.headers['Content-type'] = 'application/json' | ||||
|         responses.append(urllib.request.urlopen(request)) | ||||
|         return responses[0] | ||||
|  | ||||
|    def get(self): | ||||
|       myrequest = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|       myresponses = [] | ||||
|       #print(responses[0].__dict__.keys()) is how you would see parts of response | ||||
|       try: | ||||
|          myresponses.append(urllib.request.urlopen(myrequest)) | ||||
|          return myresponses[0] | ||||
|     def get(self): | ||||
|         myrequest = urllib.request.Request(url=self.requested_urls.pop(0), headers=self.default_headers) | ||||
|         myresponses = [] | ||||
|         # print(responses[0].__dict__.keys()) is how you would see parts of response | ||||
|         try: | ||||
|             myresponses.append(urllib.request.urlopen(myrequest)) | ||||
|             return myresponses[0] | ||||
|         except: | ||||
|             print("Error: ", sys.exc_info()[0]) | ||||
|  | ||||
|       except: | ||||
|          print("Error: ", sys.exc_info()[0]) | ||||
|         return None | ||||
|  | ||||
|       return None | ||||
|     def getAsJson(self): | ||||
|         responses = [] | ||||
|         responses.append(self.get()) | ||||
|         if (len(responses) < 1): | ||||
|             return None | ||||
|  | ||||
|         if ((responses[0] == None) or (responses[0].status != 200)): | ||||
|             print("Item not found") | ||||
|             return None | ||||
|  | ||||
|    def getAsJson(self): | ||||
|       responses = [] | ||||
|       responses.append(self.get()) | ||||
|       if (len(responses) < 1): | ||||
|          return None | ||||
|         json_data = json.loads(responses[0].read()) | ||||
|         return json_data | ||||
|  | ||||
|       if ((responses[0] == None) or (responses[0].status != 200)): | ||||
|          print("Item not found") | ||||
|          return None | ||||
|  | ||||
|       json_data = json.loads(responses[0].read()) | ||||
|       return json_data | ||||
|  | ||||
|    def addPostData(self, post_data): | ||||
|       self.post_datas.append(post_data) | ||||
|     def addPostData(self, post_data): | ||||
|         self.post_datas.append(post_data) | ||||
|  | ||||
| # ~LFRequest | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jed Reynolds
					Jed Reynolds