from datetime import datetime from http.server import BaseHTTPRequestHandler, HTTPServer import os from weather import weather_handler def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler): server_address = ("", int(os.getenv("PORT", "8000"))) httpd = server_class(server_address, WeatherHandler) httpd.serve_forever() class WeatherHandler(BaseHTTPRequestHandler): def do_GET(self): return self.data_output() def data_output(self): date = datetime.today().strftime("%Y-%m-%d %H") raw_data = weather_handler(date) return self.render(200, raw_data) def render(self, response_code: int, response_body: dict | None = None): self.send_response(response_code) if response_body is not None: self.send_header("Content-type", "application/json") self.end_headers() if response_body is not None: self.wfile.write(response_body)