mirror of
https://github.com/enzet/map-machine.git
synced 2025-05-29 08:56:27 +02:00
Refactor figures; get use of Python 3.9 features.
This commit is contained in:
parent
053324451a
commit
3bcf026862
36 changed files with 698 additions and 750 deletions
|
@ -12,26 +12,23 @@ __email__ = "me@enzet.ru"
|
|||
|
||||
|
||||
class Handler(BaseHTTPRequestHandler):
|
||||
|
||||
update_cache: bool = False
|
||||
"""
|
||||
HTTP request handler that process sloppy map tile requests.
|
||||
"""
|
||||
|
||||
def __init__(self, request, client_address, server):
|
||||
super().__init__(request, client_address, server)
|
||||
self.cache: Path = Path("cache")
|
||||
self.update_cache: bool = False
|
||||
|
||||
def write(self, message):
|
||||
if isinstance(message, bytes):
|
||||
self.wfile.write(message)
|
||||
else:
|
||||
self.wfile.write(message.encode("utf-8"))
|
||||
|
||||
def do_GET(self):
|
||||
parts = self.path.split("/")
|
||||
def do_GET(self) -> None:
|
||||
"""Serve a GET request."""
|
||||
parts: list[str] = self.path.split("/")
|
||||
if not (len(parts) == 5 and not parts[0] and parts[1] == "tiles"):
|
||||
return
|
||||
zoom = int(parts[2])
|
||||
x = int(parts[3])
|
||||
y = int(parts[4])
|
||||
zoom: int = int(parts[2])
|
||||
x: int = int(parts[3])
|
||||
y: int = int(parts[4])
|
||||
tile_path: Path = workspace.get_tile_path()
|
||||
png_path = tile_path / f"tile_{zoom}_{x}_{y}.png"
|
||||
if self.update_cache:
|
||||
|
@ -48,7 +45,7 @@ class Handler(BaseHTTPRequestHandler):
|
|||
self.send_response(200)
|
||||
self.send_header("Content-type", "image/png")
|
||||
self.end_headers()
|
||||
self.write(input_file.read())
|
||||
self.wfile.write(input_file.read())
|
||||
return
|
||||
|
||||
|
||||
|
@ -56,7 +53,7 @@ def ui(options):
|
|||
server: Optional[HTTPServer] = None
|
||||
try:
|
||||
port: int = 8080
|
||||
server = HTTPServer(("", port), Handler)
|
||||
server: HTTPServer = HTTPServer(("", port), Handler)
|
||||
server.cache_path = Path(options.cache)
|
||||
server.serve_forever()
|
||||
logging.info(f"Server started on port {port}.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue