diff --git a/server b/server index e92d2450195bc118d0517823bc1ca64b3c9f56ae..2388f2b7772c286e351500a3e52c2064c9727020 100755 --- a/server +++ b/server @@ -1,4 +1,10 @@ #!/bin/bash + +if [ -z "$1" ]; then + echo "error: missing data path" + exit -1 +fi + export FLASK_APP=server.py export FLASK_DEBUG=1 export FLASK_ENV=development # TODO: FLASK_ENV=production @@ -6,4 +12,4 @@ export FLASK_ENV=development # TODO: FLASK_ENV=production python3 -m venv ./ source bin/activate pip3 install -e . -python3 server.py +python3 server.py "$1" diff --git a/server.py b/server.py index af6557bf4c721358892c85d612fb99eb7ac37b35..4ad5f7da7409a6bd320f07707c71a091df133577 100644 --- a/server.py +++ b/server.py @@ -2,10 +2,11 @@ from flask import Flask, Response, request, send_from_directory from flask_cors import CORS from urllib.parse import urlparse -import requests, json +import sys, requests app = Flask(__name__) +DATA_PATH = sys.argv[1] COUCHDB_PROTO = 'http' COUCHDB_PORT = '5984' DB = 'vl_db' @@ -18,27 +19,27 @@ CORS(app) @app.route('/<fn>', methods=['GET']) def html(fn): app.logger.debug('hit html folder: ' + fn) - return send_from_directory('./data/web-apps', fn) + return send_from_directory(DATA_PATH + '/web-apps', fn) @app.route('/js/<path:fn>', methods=['GET']) def js(fn): app.logger.debug('hit js folder: ' + fn) - return send_from_directory('data/web-apps/js', fn) + return send_from_directory(DATA_PATH + '/web-apps/js', fn) @app.route('/css/<fn>', methods=['GET']) def css(fn): app.logger.debug('hit css folder: ' + fn) - return send_from_directory('data/web-apps/css', fn) + return send_from_directory(DATA_PATH + '/web-apps/css', fn) @app.route('/img/<fn>', methods=['GET']) def img(fn): app.logger.debug('hit img folder: ' + fn) - return send_from_directory('data/web-apps/img', fn) + return send_from_directory(DATA_PATH + '/web-apps/img', fn) @app.route('/lib/<path:fn>', methods=['GET']) def lib(fn): app.logger.debug('hit lib folder: ' + fn) - return send_from_directory('data/lib', fn) + return send_from_directory(DATA_PATH + '/lib', fn) ''' The following works like a proxy server: