aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/genenetwork227
-rw-r--r--wqflask/base/data_set.py2
-rw-r--r--wqflask/base/webqtlConfig.py1
-rw-r--r--wqflask/maintenance/gen_select_dataset.py26
-rw-r--r--wqflask/utility/tools.py1
5 files changed, 43 insertions, 14 deletions
diff --git a/bin/genenetwork2 b/bin/genenetwork2
index d3bf3299..3a8c3ff4 100755
--- a/bin/genenetwork2
+++ b/bin/genenetwork2
@@ -1,6 +1,14 @@
#! /bin/bash
#
-# This will run the GN2 server (with default settings if none supplied).
+# This will run the GN2 server (with default settings if none supplied). Pass in
+# your own settings file, e.g.
+#
+# ./bin/genenetwork2 ~/my_settings.py
+#
+# To run a maintenance script with settings (instead of the webserver) add that with
+# a -c switch, e.g.
+#
+# ./bin/genenetwork2 ~/my_settings.py -c ./wqflask/maintenance/gen_select_dataset.py
#
# Environment settings can be used to preconfigure as well as a
# settings.py file.
@@ -18,7 +26,12 @@ echo $GN2_BASE_PATH
# Handle settings parameter
settings=$1
-if [ -z $settings ]; then settings=$GN2_BASE_PATH/etc/default_settings.py ; fi
+if [ -z $settings ]; then
+ # get default
+ settings=$GN2_BASE_PATH/etc/default_settings.py
+else
+ shift
+fi
if [ ! -e $settings ]; then
echo "ERROR: can not locate settings file - pass it in the command line"
exit 1
@@ -32,7 +45,15 @@ export PYTHONPATH=$GN2_BASE_PATH/wqflask:$PYTHONPATH
if [ -z $TEMPDIR ]; then
TEMPDIR="/tmp"
fi
-
+
+# Now handle command parameter -c
+if [ $1 = '-c' ] ; then
+ echo PYTHONPATH=$PYTHONPATH
+ echo RUNNING COMMAND $2
+ /usr/bin/env python $2
+ exit 0
+fi
+
echo "Starting the redis server:"
echo -n "dir $TEMPDIR
dbfilename gn2.rdb
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index 1b4e1195..6cd3c8e6 100644
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -91,7 +91,7 @@ Publish or ProbeSet. E.g.
if USE_GN_SERVER:
data = menu_main()
else:
- file_name = "wqflask/static/new/javascript/dataset_menu_structure.json"
+ file_name = "wqflask/wqflask/static/new/javascript/dataset_menu_structure.json"
with open(file_name, 'r') as fh:
data = json.load(fh)
diff --git a/wqflask/base/webqtlConfig.py b/wqflask/base/webqtlConfig.py
index f76d8140..8c67a6fd 100644
--- a/wqflask/base/webqtlConfig.py
+++ b/wqflask/base/webqtlConfig.py
@@ -80,4 +80,3 @@ PORTADDR = "http://50.16.251.170"
INFOPAGEHREF = '/dbdoc/%s.html'
CGIDIR = '/webqtl/' #XZ: The variable name 'CGIDIR' should be changed to 'PYTHONDIR'
SCRIPTFILE = 'main.py'
-
diff --git a/wqflask/maintenance/gen_select_dataset.py b/wqflask/maintenance/gen_select_dataset.py
index d39bf4a5..5c25c15b 100644
--- a/wqflask/maintenance/gen_select_dataset.py
+++ b/wqflask/maintenance/gen_select_dataset.py
@@ -1,7 +1,9 @@
"""Script that generates the data for the main dropdown menus on the home page
Writes out data as /static/new/javascript/dataset_menu_structure.json
-It needs to be run manually when database has been changed.
+It needs to be run manually when database has been changed. Run it as
+
+ python gen_select_dataset.py
"""
@@ -37,9 +39,15 @@ from __future__ import print_function, division
#print("cdict is:", cdict)
import sys
-# import zach_settings # no hard code paths!
-# import MySQLdb
+# NEW: Note we prepend the current path - otherwise a guix instance of GN2 is used instead
+sys.path.insert(0,'./wqflask')
+# NEW: import app to avoid a circular dependency on utility.tools
+from wqflask import app
+
+from utility.tools import locate, locate_ignore_error, TEMPDIR, SQL_URI
+
+import MySQLdb
# import simplejson as json
import urlparse
@@ -55,14 +63,13 @@ from pprint import pformat as pf
#conn = Engine.connect()
-print('ERROR: This conversion is now OBSOLETE as the menu gets built from the database in Javascript using GN_SERVER instead!')
-sys.exit()
+print('WARNING: This conversion is now OBSOLETE as the menu gets built from the database in Javascript using GN_SERVER instead!')
def parse_db_uri(db_uri):
"""Converts a database URI to the db name, host name, user name, and password"""
- parsed_uri = urlparse.urlparse(zach_settings.DB_URI)
+ parsed_uri = urlparse.urlparse(SQL_URI)
db_conn_info = dict(
db = parsed_uri.path[1:],
@@ -70,6 +77,7 @@ def parse_db_uri(db_uri):
user = parsed_uri.username,
passwd = parsed_uri.password)
+ print(db_conn_info)
return db_conn_info
@@ -258,7 +266,7 @@ def build_datasets(species, group, type_name):
def main():
"""Generates and outputs (as json file) the data for the main dropdown menus on the home page"""
- parse_db_uri(zach_settings.SQL_URI)
+ parse_db_uri(SQL_URI)
species = get_species()
groups = get_groups(species)
@@ -281,7 +289,7 @@ def main():
#print("data:", data)
- output_file = """../wqflask/static/new/javascript/dataset_menu_structure.json"""
+ output_file = """./wqflask/wqflask/static/new/javascript/dataset_menu_structure.json"""
with open(output_file, 'w') as fh:
json.dump(data, fh, indent=" ", sort_keys=True)
@@ -297,6 +305,6 @@ def _test_it():
#print("build_datasets:", pf(datasets))
if __name__ == '__main__':
- Conn = MySQLdb.Connect(**parse_db_uri(zach_settings.SQL_URI))
+ Conn = MySQLdb.Connect(**parse_db_uri(SQL_URI))
Cursor = Conn.cursor()
main()
diff --git a/wqflask/utility/tools.py b/wqflask/utility/tools.py
index bb8241f5..2c8cc5c5 100644
--- a/wqflask/utility/tools.py
+++ b/wqflask/utility/tools.py
@@ -3,6 +3,7 @@
import os
import sys
+
from wqflask import app
# Use the standard logger here to avoid a circular dependency