Initial fundamental dashboard
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import http.server
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent
|
||||
PORT = 8765
|
||||
|
||||
|
||||
class Handler(http.server.SimpleHTTPRequestHandler):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, directory=str(BASE_DIR), **kwargs)
|
||||
|
||||
def do_POST(self):
|
||||
if self.path != "/refresh":
|
||||
self.send_error(404)
|
||||
return
|
||||
proc = subprocess.run(
|
||||
[sys.executable, str(BASE_DIR / "generate_fundamental_dashboard.py")],
|
||||
cwd=str(BASE_DIR),
|
||||
text=True,
|
||||
capture_output=True,
|
||||
)
|
||||
body = (proc.stdout or "") + (proc.stderr or "")
|
||||
self.send_response(200 if proc.returncode == 0 else 500)
|
||||
self.send_header("Access-Control-Allow-Origin", "*")
|
||||
self.send_header("Content-Type", "text/plain; charset=utf-8")
|
||||
self.end_headers()
|
||||
self.wfile.write(body.encode("utf-8", errors="replace"))
|
||||
|
||||
def end_headers(self):
|
||||
self.send_header("Access-Control-Allow-Origin", "*")
|
||||
super().end_headers()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
server = http.server.ThreadingHTTPServer(("127.0.0.1", PORT), Handler)
|
||||
print(f"http://127.0.0.1:{PORT}/基本面评分面板.html")
|
||||
server.serve_forever()
|
||||
Reference in New Issue
Block a user