Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from http.server import HTTPServer, BaseHTTPRequestHandler
- from io import BytesIO
- from bus_simulator import *
- from crear_sala import *
- from mostrar_salas import *
- from borrar_sala import *
- from agregar_reserva import *
- from custom_parse import *
- from service_base import parse_response
- import urllib
- def int_to_5int(i):
- return format(i, '05d')
- def init_bus():
- bus = BusSim()
- bus.register_service(CrearSala("sal00"))
- bus.register_service(obtenerSalas("sal01"))
- bus.register_service(BorrarSala("sal02"))
- bus.register_service(CrearReserva("sal04"))
- return bus
- class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
- def do_GET(self):
- bus = init_bus()
- response = ""
- self.send_response(200)
- self.end_headers()
- query = urllib.parse.urlparse(self.path).query
- q = urllib.parse.parse_qs(query)
- if 'service' in q:
- raw_response = ""
- custom_q = parse_to_dict(query)
- raw_response = json.dumps(custom_q)
- procesed_request = int_to_5int(len(raw_response) + 5) + q["service"][0] + raw_response
- response = parse_response(bus.send_request(procesed_request))
- print(response)
- if response["estado"] == b"OK":
- self.wfile.write(response["arg"])
- else:
- self.wfile.write(bytes("[]", 'utf-8'))
- else:
- if self.path == "/login":
- with open("login.html", 'r') as f:
- self.wfile.write(bytes(f.read(), 'utf-8'))
- if self.path == "/reservar":
- with open("salas.html", 'r') as f:
- self.wfile.write(bytes(f.read(), 'utf-8'))
- elif self.path == "/":
- with open("index.html", 'r') as f:
- self.wfile.write(bytes(f.read(), 'utf-8'))
- elif self.path == "/sticky-footer-navbar.css":
- with open("sticky-footer-navbar.css", 'r') as f:
- self.wfile.write(bytes(f.read(), 'utf-8'))
- else:
- self.wfile.write(bytes("Error 404", 'utf-8'))
- def do_POST(self):
- pass
- httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
- httpd.serve_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement