From d1192b1f244e8976fb53c260179eb3715029ebf4 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 26 Jun 2016 09:50:29 +0000 Subject: gn_server: introduced one new query to fetch a dataset record and force fetch1 to return a tuple --- wqflask/db/call.py | 12 +++++++----- wqflask/db/webqtlDatabaseFunction.py | 5 +++-- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'wqflask/db') diff --git a/wqflask/db/call.py b/wqflask/db/call.py index 194a7650..6c195afa 100644 --- a/wqflask/db/call.py +++ b/wqflask/db/call.py @@ -14,17 +14,19 @@ logger = getLogger(__name__ ) # from inspect import stack def fetch1(query, path=None, func=None): - """Fetch one result using either a SQL query or the URI path to -GN_SERVER (when USE_GN_SERVER is True). Apply func to GN_SERVER result -when set. + """Fetch one result as a Tuple using either a SQL query or the URI +path to GN_SERVER (when USE_GN_SERVER is True). Apply func to +GN_SERVER result when set (which should return a Tuple) """ if USE_GN_SERVER and path: result = gn_server(path) if func != None: - return [func(result)] + res2 = func(result) else: - return [result] + res2 = result, + logger.debug(path,query,res2) + return res2 else: return fetchone(query) diff --git a/wqflask/db/webqtlDatabaseFunction.py b/wqflask/db/webqtlDatabaseFunction.py index 7fc096a9..ba998e91 100644 --- a/wqflask/db/webqtlDatabaseFunction.py +++ b/wqflask/db/webqtlDatabaseFunction.py @@ -21,6 +21,7 @@ # This module is used by GeneNetwork project (www.genenetwork.org) from db.call import fetch1 +from utility.tools import USE_GN_SERVER from utility.logger import getLogger logger = getLogger(__name__ ) @@ -42,13 +43,13 @@ def retrieve_species(group): """Get the species of a group (e.g. returns string "mouse" on "BXD" """ - result = fetch1("select Species.Name from Species, InbredSet where InbredSet.Name = '%s' and InbredSet.SpeciesId = Species.Id" % (group),"/cross/"+group+".json",lambda r: r["species"])[0] + result = fetch1("select Species.Name from Species, InbredSet where InbredSet.Name = '%s' and InbredSet.SpeciesId = Species.Id" % (group),"/cross/"+group+".json",lambda r: (r["species"],))[0] logger.debug("retrieve_species result:",result) return result def retrieve_species_id(group): - result = fetch1("select SpeciesId from InbredSet where Name = '%s'" % (group),"/cross/"+group+".json",lambda r: r["species_id"])[0] + result = fetch1("select SpeciesId from InbredSet where Name = '%s'" % (group),"/cross/"+group+".json",lambda r: (r["species_id"],))[0] logger.debug("retrieve_species_id result:",result) return result -- cgit v1.2.3