mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 02:38:03 +00:00 
			
		
		
		
	listens on port, WIP
This commit is contained in:
		| @@ -27,3 +27,91 @@ $ ./lf_kinstall.pl --print-label http://192.168.9.1:8082/ | |||||||
|  |  | ||||||
|  |  | ||||||
| """ | """ | ||||||
|  | import logging | ||||||
|  | from http import server | ||||||
|  | from http.server import HTTPServer, BaseHTTPRequestHandler | ||||||
|  | from ssl import wrap_socket | ||||||
|  | from urllib.parse import urlparse, parse_qs | ||||||
|  | import pprint | ||||||
|  | from pprint import pprint | ||||||
|  |  | ||||||
|  | class LabelPrinterRequestHandler(BaseHTTPRequestHandler): | ||||||
|  |     def do_HEAD(self): | ||||||
|  |         self.send_response(200); | ||||||
|  |         self.send_header("Content-type", "text/html") | ||||||
|  |         self.end_headers() | ||||||
|  |  | ||||||
|  |     def do_GET(self): | ||||||
|  |         self.send_response(200); | ||||||
|  |         self.send_header("Content-type", "text/html") | ||||||
|  |         self.end_headers() | ||||||
|  |  | ||||||
|  |     def do_POST(self): | ||||||
|  |         hostname = ""; | ||||||
|  |         mac_address = ""; | ||||||
|  |         model = ""; | ||||||
|  |         serial = ""; | ||||||
|  |          | ||||||
|  |         length = int(self.headers['Content-Length']) | ||||||
|  |         field_data = self.rfile.read(length) | ||||||
|  |         print("Field_data: %s\n"%field_data); | ||||||
|  |         fields = parse_qs(field_data) | ||||||
|  |         pprint(fields) | ||||||
|  |          | ||||||
|  |         for name in fields: | ||||||
|  |             print("key %s"%name) | ||||||
|  |              | ||||||
|  |         if "mac" in fields: | ||||||
|  |             mac_address = fields["mac"] | ||||||
|  |         else: | ||||||
|  |             self.send_response(400) | ||||||
|  |             self.send_header("X-Error", "mac address not submitted") | ||||||
|  |             self.end_headers(); | ||||||
|  |             self.wfile.write(b"Bullshit\n"); | ||||||
|  |             return | ||||||
|  |          | ||||||
|  |         if "model" in fields: | ||||||
|  |             model = fields["model"] | ||||||
|  |         else: | ||||||
|  |             self.send_response(400) | ||||||
|  |             self.send_header("X-Error", "missing model name") | ||||||
|  |             self.wfile.write(b"Bullshit\n"); | ||||||
|  |             return | ||||||
|  |                  | ||||||
|  |         if (mac_address is None) or ("" == mac_address): | ||||||
|  |             self.send_resonse(400) | ||||||
|  |             self.send_header("X-Error", "mac address empty or unset") | ||||||
|  |             self.end_headers() | ||||||
|  |             self.wfile.write(b"missing mac address") | ||||||
|  |             self.wfile.write(b"Bullshit\n"); | ||||||
|  |             return | ||||||
|  |              | ||||||
|  |         if (model is None) or (model == ""): | ||||||
|  |             self.send_reponse(400) | ||||||
|  |             self.send_header("X-Error", "missing model name") | ||||||
|  |             self.end_headers() | ||||||
|  |             self.wfile.write(b"missing model name") | ||||||
|  |             return | ||||||
|  |          | ||||||
|  |         if fields[hostname] is None: | ||||||
|  |             hostname = "%s-%s"%(model, mac.substr(-5).replace(":", ""))     | ||||||
|  |         else: | ||||||
|  |             hostname = fields[hostname] | ||||||
|  |              | ||||||
|  |         print("HOSTNAME "+hostname) | ||||||
|  |  | ||||||
|  |         self.send_response(200); | ||||||
|  |         self.send_header("Content-type", "text/html") | ||||||
|  |         self.end_headers() | ||||||
|  |         print("I'm in POST") | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def __main__(): | ||||||
|  |     logging.info("Main Method. Creating CGI Handler")    | ||||||
|  |     httpd = HTTPServer(('', 8082), LabelPrinterRequestHandler) | ||||||
|  |     print("Starting LabelPrinter service...") | ||||||
|  |     httpd.serve_forever() | ||||||
|  |  | ||||||
|  | if __name__ == "__main__": | ||||||
|  |     __main__() | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jed Reynolds
					Jed Reynolds