aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsloan2020-04-27 14:00:34 -0500
committerzsloan2020-04-27 14:00:34 -0500
commit75ecdb25c7a598f0f254f4f53529b657736aaa49 (patch)
treec2cf0442113fb5de7a190e367874c02909510d86
parentc0909b461effecb8051020a4f186a40b8867b574 (diff)
downloadgenenetwork2-75ecdb25c7a598f0f254f4f53529b657736aaa49.tar.gz
Made change that should allow dataset structure to be loaded from Redis instead of the JSON file without breaking things
-rw-r--r--wqflask/base/data_set.py41
-rw-r--r--wqflask/wqflask/__init__.py4
-rw-r--r--wqflask/wqflask/api/gen_menu.py18
-rw-r--r--wqflask/wqflask/collect.py2
-rw-r--r--wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js1
5 files changed, 28 insertions, 38 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index 1f99df49..fd1dff5c 100644
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -93,22 +93,26 @@ Publish or ProbeSet. E.g.
"""
self.datasets = {}
- data = json.loads(requests.get(GN2_BASE_URL + "/api/v_pre1/gen_dropdown").content)
- #data = gen_menu.gen_dropdown_json()
-
-
- for species in data['datasets']:
- for group in data['datasets'][species]:
- for dataset_type in data['datasets'][species][group]:
- for dataset in data['datasets'][species][group][dataset_type]:
- short_dataset_name = dataset[1]
- if dataset_type == "Phenotypes":
- new_type = "Publish"
- elif dataset_type == "Genotypes":
- new_type = "Geno"
- else:
- new_type = "ProbeSet"
- self.datasets[short_dataset_name] = new_type
+
+ data = Redis.get("dataset_structure")
+ if data:
+ self.datasets = json.loads(data)
+ else: #ZS: I don't think this should ever run unless Redis is emptied
+ data = json.loads(requests.get(GN2_BASE_URL + "/api/v_pre1/gen_dropdown").content)
+ for species in data['datasets']:
+ for group in data['datasets'][species]:
+ for dataset_type in data['datasets'][species][group]:
+ for dataset in data['datasets'][species][group][dataset_type]:
+ short_dataset_name = dataset[1]
+ if dataset_type == "Phenotypes":
+ new_type = "Publish"
+ elif dataset_type == "Genotypes":
+ new_type = "Geno"
+ else:
+ new_type = "ProbeSet"
+ self.datasets[short_dataset_name] = new_type
+
+ Redis.set("dataset_structure", json.dumps(self.datasets))
# Set LOG_LEVEL_DEBUG=5 to see the following:
logger.debugf(5, "datasets",self.datasets)
@@ -127,6 +131,7 @@ Publish or ProbeSet. E.g.
results = g.db.execute(geno_query).fetchall()
if len(results):
self.datasets[name] = "ProbeSet"
+ Redis.set("dataset_structure", json.dumps(self.datasets))
return self.datasets[name]
group_name = name.replace("Publish", "")
@@ -140,6 +145,7 @@ Publish or ProbeSet. E.g.
results = g.db.execute(pheno_query).fetchall()
if len(results):
self.datasets[name] = "Publish"
+ Redis.set("dataset_structure", json.dumps(self.datasets))
return self.datasets[name]
#ZS: For when there isn't an InfoFiles ID; not sure if this and the preceding query are both necessary
@@ -151,6 +157,7 @@ Publish or ProbeSet. E.g.
results = g.db.execute(other_pheno_query).fetchall()
if len(results):
self.datasets[name] = "Publish"
+ Redis.set("dataset_structure", json.dumps(self.datasets))
return self.datasets[name]
geno_query = """
@@ -166,11 +173,11 @@ Publish or ProbeSet. E.g.
results = g.db.execute(geno_query).fetchall()
if len(results):
self.datasets[name] = "Geno"
+ Redis.set("dataset_structure", json.dumps(self.datasets))
return self.datasets[name]
#ZS: It shouldn't ever reach this
return None
-
else:
return self.datasets[name]
diff --git a/wqflask/wqflask/__init__.py b/wqflask/wqflask/__init__.py
index 399e794d..62e98b36 100644
--- a/wqflask/wqflask/__init__.py
+++ b/wqflask/wqflask/__init__.py
@@ -21,5 +21,5 @@ app.jinja_env.globals.update(
numify = formatting.numify
)
-import wqflask.views
-from wqflask.api import router \ No newline at end of file
+from wqflask.api import router
+import wqflask.views \ No newline at end of file
diff --git a/wqflask/wqflask/api/gen_menu.py b/wqflask/wqflask/api/gen_menu.py
index adf66fb5..c7bcb65d 100644
--- a/wqflask/wqflask/api/gen_menu.py
+++ b/wqflask/wqflask/api/gen_menu.py
@@ -1,7 +1,6 @@
from __future__ import print_function, division
import sys
-import json
from flask import g
@@ -23,14 +22,6 @@ def gen_dropdown_json():
types = get_types(groups)
datasets = get_datasets(types)
- #species.append(('All Species', 'All Species'))
- #groups['All Species'] = [('All Groups', 'All Groups')]
- #types['All Species'] = {}
- #types['All Species']['All Groups'] = [('Phenotypes', 'Phenotypes')]
- #datasets['All Species'] = {}
- #datasets['All Species']['All Groups'] = {}
- #datasets['All Species']['All Groups']['Phenotypes'] = [('All Phenotypes','All Phenotypes')]
-
data = dict(species=species,
groups=groups,
types=types,
@@ -55,15 +46,6 @@ def get_groups(species):
groups = {}
for species_name, _species_full_name in species:
groups[species_name] = []
- # results = g.db.execute("""SELECT InbredSet.Name, InbredSet.FullName
- # FROM InbredSet, Species, ProbeFreeze, GenoFreeze, PublishFreeze
- # WHERE Species.Name = '{}' AND
- # InbredSet.SpeciesId = Species.Id AND
- # (PublishFreeze.InbredSetId = InbredSet.Id OR
- # GenoFreeze.InbredSetId = InbredSet.Id OR
- # ProbeFreeze.InbredSetId = InbredSet.Id)
- # GROUP by InbredSet.Name
- # ORDER BY InbredSet.FullName""".format(species_name)).fetchall()
results = g.db.execute("""SELECT InbredSet.Name, InbredSet.FullName, IFNULL(InbredSet.Family, 'None')
FROM InbredSet, Species
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 1d74b699..b22e0004 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -185,7 +185,7 @@ def delete_collection():
if len(uc_id.split(":")) > 1:
flash("We've deleted the selected collections.", "alert-info")
else:
- flash("We've deleted the collection: {}.".format(uc_id), "alert-info")
+ flash("We've deleted the selected collection.", "alert-info")
else:
flash("We've deleted the collection: {}.".format(collection_name), "alert-info")
diff --git a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
index 794804f4..ee7be68c 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
+++ b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
@@ -6,6 +6,7 @@ process_json = function(data) {
return apply_default();
}
};
+
$.ajax('/api/v_pre1/gen_dropdown', {
dataType: 'json',
success: process_json