listens on port, WIP

This commit is contained in:
Jed Reynolds
2020-10-04 23:13:58 -07:00
parent d9856ba5d8
commit de3a212e12

View File

@@ -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__()