Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. from http.server import HTTPServer, BaseHTTPRequestHandler
  2. from io import BytesIO
  3. from bus_simulator import *
  4. from crear_sala import *
  5. from mostrar_salas import *
  6. from borrar_sala import *
  7. from agregar_reserva import *
  8. from custom_parse import *
  9. from service_base import parse_response
  10. import urllib
  11. def int_to_5int(i):
  12.     return format(i, '05d')
  13. def init_bus():
  14.     bus = BusSim()
  15.     bus.register_service(CrearSala("sal00"))
  16.     bus.register_service(obtenerSalas("sal01"))
  17.     bus.register_service(BorrarSala("sal02"))
  18.     bus.register_service(CrearReserva("sal04"))
  19.     return bus
  20. class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
  21.     def do_GET(self):
  22.         bus = init_bus()
  23.         response = ""
  24.         self.send_response(200)
  25.         self.end_headers()
  26.         query = urllib.parse.urlparse(self.path).query
  27.         q = urllib.parse.parse_qs(query)
  28.         if 'service' in q:
  29.             raw_response = ""
  30.             custom_q = parse_to_dict(query)
  31.             raw_response = json.dumps(custom_q)
  32.             procesed_request = int_to_5int(len(raw_response) + 5) + q["service"][0] + raw_response
  33.             response = parse_response(bus.send_request(procesed_request))
  34.             print(response)
  35.             if response["estado"] == b"OK":
  36.                 self.wfile.write(response["arg"])
  37.             else:
  38.                 self.wfile.write(bytes("[]", 'utf-8'))
  39.         else:
  40.             if self.path == "/login":
  41.                 with open("login.html", 'r') as f:
  42.                     self.wfile.write(bytes(f.read(), 'utf-8'))
  43.             if self.path == "/reservar":
  44.                 with open("salas.html", 'r') as f:
  45.                     self.wfile.write(bytes(f.read(), 'utf-8'))
  46.             elif self.path == "/":
  47.                 with open("index.html", 'r') as f:
  48.                     self.wfile.write(bytes(f.read(), 'utf-8'))
  49.             elif self.path == "/sticky-footer-navbar.css":
  50.                 with open("sticky-footer-navbar.css", 'r') as f:
  51.                     self.wfile.write(bytes(f.read(), 'utf-8'))
  52.             else:
  53.                 self.wfile.write(bytes("Error 404", 'utf-8'))
  54.  
  55.     def do_POST(self):
  56.         pass
  57.  
  58.  
  59. httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
  60. httpd.serve_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement