from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import parse_qs
from html import escape

items = []


class Handler(BaseHTTPRequestHandler):
    def do_GET(self):
        page = "<h1>Seznam</h1><ul>"
        for item in items:
            page += "<li>" + escape(item) + "</li>"
        page += "</ul><form method='post'><input name='text'><button>Přidat</button></form>"
        self.send_response(200)
        self.send_header("Content-Type", "text/html; charset=utf-8")
        self.end_headers()
        self.wfile.write(page.encode())

    def do_POST(self):
        length = int(self.headers["Content-Length"])
        data = parse_qs(self.rfile.read(length).decode())
        items.extend(data.get("text", []))
        self.send_response(303)
        self.send_header("Location", "/")
        self.end_headers()


server = HTTPServer(("", 1234), Handler)
print("Server běží na http://localhost:1234")
server.serve_forever()
