aboutsummaryrefslogtreecommitdiff
path: root/wqflask
diff options
context:
space:
mode:
authorPjotr Prins2016-09-10 11:43:21 +0200
committerPjotr Prins2016-09-10 11:43:21 +0200
commitec7d4e1198bc8d2f83ce99b41e2084fbce6a0be7 (patch)
tree0803d338afddb68042bd52d87ceb9ed347148f6a /wqflask
parentcd7e98a79916c1cc7466f16067c2c8283bff989e (diff)
downloadgenenetwork2-ec7d4e1198bc8d2f83ce99b41e2084fbce6a0be7.tar.gz
Support for running maintenance scripts so they can pick up all webserver settings
Run with ./bin/genenetwork2 ~/my_settings.py -c ./wqflask/maintenance/gen_select_dataset.py
Diffstat (limited to 'wqflask')
-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
4 files changed, 19 insertions, 11 deletions
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