aboutsummaryrefslogtreecommitdiff
path: root/wqflask/db/call.py
diff options
context:
space:
mode:
authorArthur Centeno2021-10-25 21:04:23 +0000
committerArthur Centeno2021-10-25 21:04:23 +0000
commit499a80f138030c4de1629c043c8f9401a99894ea (patch)
tree449dcae965d13f966fb6d52625fbc86661c8c6a0 /wqflask/db/call.py
parent6151faa9ea67af4bf4ea95fb681a9dc4319474b6 (diff)
parent700802303e5e8221a9d591ba985d6607aa61e1ce (diff)
downloadgenenetwork2-499a80f138030c4de1629c043c8f9401a99894ea.tar.gz
Merge github.com:genenetwork/genenetwork2 into acenteno
Diffstat (limited to 'wqflask/db/call.py')
-rw-r--r--wqflask/db/call.py29
1 files changed, 21 insertions, 8 deletions
diff --git a/wqflask/db/call.py b/wqflask/db/call.py
index 1a1b3adc..1fe0772b 100644
--- a/wqflask/db/call.py
+++ b/wqflask/db/call.py
@@ -3,16 +3,22 @@
from flask import g
import string
-import urllib2
+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__ )
+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
@@ -26,40 +32,47 @@ GN_SERVER result when set (which should return a Tuple)
else:
res2 = result,
if LOG_SQL:
- logger.debug("Replaced SQL call",query)
- logger.debug(path,res2)
+ 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):
+ 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):
+ 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 = urllib2.urlopen(GN_SERVER_URL+path)
+ 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)