aboutsummaryrefslogtreecommitdiff
path: root/wqflask/db
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/db')
-rw-r--r--wqflask/db/call.py79
-rw-r--r--wqflask/db/gn_server.py10
-rw-r--r--wqflask/db/webqtlDatabaseFunction.py16
3 files changed, 10 insertions, 95 deletions
diff --git a/wqflask/db/call.py b/wqflask/db/call.py
deleted file mode 100644
index 1fe0772b..00000000
--- a/wqflask/db/call.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# Module for calling the backend
-
-from flask import g
-
-import string
-try: # Python2 support
- import urllib.request
- import urllib.error
- import urllib.parse
-except:
- import urllib2
-import json
-from utility.tools import USE_GN_SERVER, LOG_SQL, GN_SERVER_URL
-from utility.benchmark import Bench
-
-from utility.logger import getLogger
-logger = getLogger(__name__)
-
-# from inspect import stack
-
-
-def fetch1(query, path=None, func=None):
- """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:
- res2 = func(result)
- else:
- res2 = result,
- if LOG_SQL:
- logger.debug("Replaced SQL call", query)
- logger.debug(path, res2)
- return res2
- else:
- return fetchone(query)
-
-
-def fetchone(query):
- """Return tuple containing one row by calling SQL directly (the
-original fetchone, but with logging)
-
- """
- with Bench("SQL", LOG_SQL):
- def helper(query):
- res = g.db.execute(query)
- return res.fetchone()
- return logger.sql(query, helper)
-
-
-def fetchall(query):
- """Return row iterator by calling SQL directly (the
-original fetchall, but with logging)
-
- """
- with Bench("SQL", LOG_SQL):
- def helper(query):
- res = g.db.execute(query)
- return res.fetchall()
- return logger.sql(query, helper)
-
-
-def gn_server(path):
- """Return JSON record by calling GN_SERVER
-
- """
- with Bench("GN_SERVER", LOG_SQL):
- res = ()
- try:
- res = urllib.request.urlopen(GN_SERVER_URL + path)
- except:
- res = urllib2.urlopen(GN_SERVER_URL + path)
- rest = res.read()
- res2 = json.loads(rest)
- logger.debug(res2)
- return res2
diff --git a/wqflask/db/gn_server.py b/wqflask/db/gn_server.py
deleted file mode 100644
index f9b01658..00000000
--- a/wqflask/db/gn_server.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Backend query functions (logic)
-
-from db.call import gn_server
-
-from utility.logger import getLogger
-logger = getLogger(__name__)
-
-
-def menu_main():
- return gn_server("/int/menu/main.json")
diff --git a/wqflask/db/webqtlDatabaseFunction.py b/wqflask/db/webqtlDatabaseFunction.py
index 9ec650a4..122c546f 100644
--- a/wqflask/db/webqtlDatabaseFunction.py
+++ b/wqflask/db/webqtlDatabaseFunction.py
@@ -20,19 +20,23 @@
#
# This module is used by GeneNetwork project (www.genenetwork.org)
-from db.call import fetch1
+from wqflask.database import database_connection
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]
+ with database_connection() as conn, conn.cursor() as cursor:
+ cursor.execute(
+ "SELECT Species.Name FROM Species, InbredSet WHERE InbredSet.Name = %s AND InbredSet.SpeciesId = Species.Id",
+ (group,))
+ return cursor.fetchone()[0]
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]
- return result
+ with database_connection() as conn, conn.cursor() as cursor:
+ cursor.execute("SELECT SpeciesId FROM InbredSet WHERE Name = %s",
+ (group,))
+ return cursor.fetchone()[0]