Download tool_server.py from Nerdur/webui: direct link, hf CLI and curl.
- Browser
- Download file 1.93 kB
-
https://huggingface.co/spaces/Nerdur/webui/resolve/main/tool_server.py
- Command line
-
hf download hf://spaces/Nerdur/webui/tool_server.py
-
curl -L -o tool_server.py https://huggingface.co/spaces/Nerdur/webui/resolve/main/tool_server.py
1.93 kB
| """ | |
| tool_server.py — Mini HTTP server za WebUI toolove | |
| Servira /preset-creator i ostale admin alate na portu 8081 | |
| Radi kao sidecar uz Open WebUI (port 8080) | |
| """ | |
| from http.server import HTTPServer, BaseHTTPRequestHandler | |
| import os | |
| HTML_DIR = "/app/tools" | |
| class ToolHandler(BaseHTTPRequestHandler): | |
| def log_message(self, format, *args): | |
| # Tiši logovi | |
| pass | |
| def do_GET(self): | |
| path = self.path.split("?")[0].rstrip("/") | |
| if path == "" or path == "/": | |
| self.redirect("/preset-creator") | |
| return | |
| if path == "/preset-creator": | |
| self.serve_file("preset_creator.html", "text/html; charset=utf-8") | |
| return | |
| # 404 | |
| self.send_response(404) | |
| self.send_header("Content-Type", "text/plain; charset=utf-8") | |
| self.end_headers() | |
| self.wfile.write(b"404 Not Found") | |
| def redirect(self, location): | |
| self.send_response(302) | |
| self.send_header("Location", location) | |
| self.end_headers() | |
| def serve_file(self, filename, content_type): | |
| filepath = os.path.join(HTML_DIR, filename) | |
| if not os.path.exists(filepath): | |
| self.send_response(404) | |
| self.send_header("Content-Type", "text/plain") | |
| self.end_headers() | |
| self.wfile.write(f"File not found: {filename}".encode()) | |
| return | |
| with open(filepath, "rb") as f: | |
| data = f.read() | |
| self.send_response(200) | |
| self.send_header("Content-Type", content_type) | |
| self.send_header("Content-Length", str(len(data))) | |
| self.end_headers() | |
| self.wfile.write(data) | |
| if __name__ == "__main__": | |
| port = int(os.environ.get("TOOLS_PORT", 8081)) | |
| server = HTTPServer(("0.0.0.0", port), ToolHandler) | |
| print(f"✅ Tool server pokrenut na portu {port}") | |
| print(f" → http://localhost:{port}/preset-creator") | |
| server.serve_forever() | |