aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2016-10-03 09:23:57 +0000
committerPjotr Prins2016-10-03 09:23:57 +0000
commit598fbead85b0ecb9127989a9c5a88a2d7bc91a5d (patch)
tree6257a4c529bdf946ea42e09c6a92b6ab9aeeeffa
parent2acd8aa41580aaccc4119a6f504bdfb5e986e0c2 (diff)
downloadgenenetwork2-598fbead85b0ecb9127989a9c5a88a2d7bc91a5d.tar.gz
Config: supporting JSON OVERRIDES
-rwxr-xr-xbin/genenetwork22
-rw-r--r--wqflask/utility/tools.py35
-rw-r--r--wqflask/wqflask/__init__.py2
3 files changed, 31 insertions, 8 deletions
diff --git a/bin/genenetwork2 b/bin/genenetwork2
index 872e9326..30a4dc95 100755
--- a/bin/genenetwork2
+++ b/bin/genenetwork2
@@ -56,7 +56,7 @@ if [ -z $TEMPDIR ]; then
fi
# Now handle command parameter -c
-if [ $1 = '-c' ] ; then
+if [ "$1" = '-c' ] ; then
cd $GN2_BASE_PATH/wqflask
cmd=${2#wqflask/}
echo PYTHONPATH=$PYTHONPATH
diff --git a/wqflask/utility/tools.py b/wqflask/utility/tools.py
index 545c0427..23d6fb62 100644
--- a/wqflask/utility/tools.py
+++ b/wqflask/utility/tools.py
@@ -3,6 +3,7 @@
import os
import sys
+import json
from wqflask import app
@@ -10,6 +11,8 @@ from wqflask import app
import logging
logger = logging.getLogger(__name__ )
+OVERRIDES = {}
+
def get_setting(command_id,guess=None):
"""Resolve a setting from the environment or the global settings in
app.config, with valid_path is a function checking whether the
@@ -45,13 +48,15 @@ def get_setting(command_id,guess=None):
logger.debug("Looking for "+command_id+"\n")
command = value(os.environ.get(command_id))
if command is None or command == "":
- # ---- Check whether setting exists in app
- command = value(app.config.get(command_id))
+ command = OVERRIDES.get(command_id)
if command is None:
- command = value(guess)
- if command is None or command == "":
- # print command
- raise Exception(command_id+' setting unknown or faulty (update default_settings.py?).')
+ # ---- Check whether setting exists in app
+ command = value(app.config.get(command_id))
+ if command is None:
+ command = value(guess)
+ if command is None or command == "":
+ # print command
+ raise Exception(command_id+' setting unknown or faulty (update default_settings.py?).')
logger.debug("Set "+command_id+"="+str(command))
return command
@@ -169,6 +174,7 @@ def show_settings():
log_level = getattr(logging, LOG_LEVEL.upper())
logging.basicConfig(level=log_level)
+ logger.info(OVERRIDES)
logger.info(BLUE+"Mr. Mojo Risin 2"+ENDC)
print "runserver.py: ****** Webserver configuration ******"
keylist = app.config.keys()
@@ -179,7 +185,9 @@ def show_settings():
except:
print("%s: %s%s%s%s" % (k,GREEN,BOLD,app.config[k],ENDC))
+
# Cached values
+HOME = get_setting('HOME')
WEBSERVER_MODE = get_setting('WEBSERVER_MODE')
GN_SERVER_URL = get_setting('GN_SERVER_URL')
SQL_URI = get_setting('SQL_URI')
@@ -198,3 +206,18 @@ PYLMM_COMMAND = pylmm_command()
GEMMA_COMMAND = gemma_command()
PLINK_COMMAND = plink_command()
TEMPDIR = tempdir()
+
+from six import string_types
+
+if os.environ.get('WQFLASK_OVERRIDES'):
+ jsonfn = get_setting('WQFLASK_OVERRIDES')
+ logger.error("WQFLASK_OVERRIDES: %s" % jsonfn)
+ with open(jsonfn) as data_file:
+ overrides = json.load(data_file)
+ for k in overrides:
+ cmd = overrides[k]
+ if isinstance(cmd, string_types):
+ OVERRIDES[k] = eval(cmd)
+ else:
+ OVERRIDES[k] = cmd
+ logger.debug(OVERRIDES)
diff --git a/wqflask/wqflask/__init__.py b/wqflask/wqflask/__init__.py
index 602246d9..2188ce17 100644
--- a/wqflask/wqflask/__init__.py
+++ b/wqflask/wqflask/__init__.py
@@ -8,7 +8,7 @@ from utility import formatting
import logging
logger = logging.getLogger(__name__ )
-logging.basicConfig(level=logging.WARN)
+logging.basicConfig(level=logging.INFO)
app = Flask(__name__)