From 60a5a22c06f1af30fd56a4bc93ac3b5106a230bc Mon Sep 17 00:00:00 2001 From: Pete Shadbolt Date: Wed, 18 May 2016 00:07:26 +0100 Subject: [PATCH] Server now serves HTML to localhost:5001 :gun: And we automatically pop a browser window when the server boots. Nice --- abp/server.py | 22 ++++++++++++++++++---- {client => static}/anders_briegel.js | 0 {client => static}/api.js | 0 {client => static}/curve.js | 0 {client => static}/graph.js | 0 {client => static}/index.html | 0 {client => static}/interaction.js | 0 {client => static}/libs.js | 0 {client => static}/main.css | 0 {client => static}/main.js | 0 {client => static}/materials.js | 0 {client => static}/poll.js | 0 {client => static}/tables.js | 0 {client => static}/three.js | 0 14 files changed, 18 insertions(+), 4 deletions(-) rename {client => static}/anders_briegel.js (100%) rename {client => static}/api.js (100%) rename {client => static}/curve.js (100%) rename {client => static}/graph.js (100%) rename {client => static}/index.html (100%) rename {client => static}/interaction.js (100%) rename {client => static}/libs.js (100%) rename {client => static}/main.css (100%) rename {client => static}/main.js (100%) rename {client => static}/materials.js (100%) rename {client => static}/poll.js (100%) rename {client => static}/tables.js (100%) rename {client => static}/three.js (100%) diff --git a/abp/server.py b/abp/server.py index 3557dcf..4cefb49 100644 --- a/abp/server.py +++ b/abp/server.py @@ -1,7 +1,8 @@ -import json from websocket_server import WebsocketServer -import abp - +from SimpleHTTPServer import SimpleHTTPRequestHandler +from BaseHTTPServer import HTTPServer +import os, sys, threading, time +import webbrowser clients = [] @@ -18,10 +19,23 @@ def client_left(client, server): clients.remove(client) if __name__ == '__main__': + # Change to the right working dir + where = os.path.join(sys.path[0], "../static") + os.chdir(where) + + # Start the HTTP server + httpserver = HTTPServer(('', 5001), SimpleHTTPRequestHandler) + thread = threading.Thread(target = httpserver.serve_forever) + thread.daemon = True + thread.start() + time.sleep(2) + webbrowser.open("http://localhost:5001/") + + # Start the websocket server server = WebsocketServer(5000) server.set_fn_new_client(new_client) server.set_fn_message_received(new_message) server.set_fn_client_left(client_left) server.run_forever() - + httpserver.shutdown() diff --git a/client/anders_briegel.js b/static/anders_briegel.js similarity index 100% rename from client/anders_briegel.js rename to static/anders_briegel.js diff --git a/client/api.js b/static/api.js similarity index 100% rename from client/api.js rename to static/api.js diff --git a/client/curve.js b/static/curve.js similarity index 100% rename from client/curve.js rename to static/curve.js diff --git a/client/graph.js b/static/graph.js similarity index 100% rename from client/graph.js rename to static/graph.js diff --git a/client/index.html b/static/index.html similarity index 100% rename from client/index.html rename to static/index.html diff --git a/client/interaction.js b/static/interaction.js similarity index 100% rename from client/interaction.js rename to static/interaction.js diff --git a/client/libs.js b/static/libs.js similarity index 100% rename from client/libs.js rename to static/libs.js diff --git a/client/main.css b/static/main.css similarity index 100% rename from client/main.css rename to static/main.css diff --git a/client/main.js b/static/main.js similarity index 100% rename from client/main.js rename to static/main.js diff --git a/client/materials.js b/static/materials.js similarity index 100% rename from client/materials.js rename to static/materials.js diff --git a/client/poll.js b/static/poll.js similarity index 100% rename from client/poll.js rename to static/poll.js diff --git a/client/tables.js b/static/tables.js similarity index 100% rename from client/tables.js rename to static/tables.js diff --git a/client/three.js b/static/three.js similarity index 100% rename from client/three.js rename to static/three.js