about summary refs log tree commit diff
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]