from http.server import BaseHTTPRequestHandler, HTTPServer import json import urllib.request def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler): server_address = ("", 8000) httpd = server_class(server_address, WeatherHandler) httpd.serve_forever() class WeatherHandler(BaseHTTPRequestHandler): def do_GET(self): return self.weather_handler() def weather_handler(self): coordinates = [48.712, 44.514] url = ( "https://api.open-meteo.com/v1/forecast?latitude=" + str(coordinates[0]) + "&longitude=" + str(coordinates[1]) + "¤t=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m" ) raw_data = urllib.request.urlopen(url).read() print(raw_data) 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)