about summary refs log tree commit diff
path: root/gn3/db_utils.py
diff options
context:
space:
mode:
authorAlexander Kabui2021-04-12 09:54:12 +0300
committerGitHub2021-04-12 09:54:12 +0300
commit31ac939f58bf7b6d353ced995ca395376203b25f (patch)
tree41770a0e4ec3441045fca9bc48de794e444b80ba /gn3/db_utils.py
parent5151987063eab58b10a2dd8e831ec036df217531 (diff)
downloadgenenetwork3-31ac939f58bf7b6d353ced995ca395376203b25f.tar.gz
Integrate correlation API
- add new api for gn2-gn3 sample r integration
- delete map for sample list to values
- add db util file
- add python msql-client dependency
- add db for fetching lit correlation results
- add unittests for db utils
- add tests for db_utils
- modify api for fetching lit correlation results
- refactor Mock Database Connector and unittests
- add sql url parser
- add SQL URI env variable
- refactor code for db utils
- modify return data for lit correlation
- refactor tissue correlation endpoint
- replace db_instance with conn
Diffstat (limited to 'gn3/db_utils.py')
-rw-r--r--gn3/db_utils.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/gn3/db_utils.py b/gn3/db_utils.py
new file mode 100644
index 0000000..34c5bf0
--- /dev/null
+++ b/gn3/db_utils.py
@@ -0,0 +1,24 @@
+"""module contains all db related stuff"""
+from typing import Tuple
+from urllib.parse import urlparse
+import MySQLdb as mdb   # type: ignore
+from gn3.settings import SQL_URI
+
+
+def parse_db_url() -> Tuple:
+    """function to parse SQL_URI env variable note:there\
+    is a default value for SQL_URI so a tuple result is\
+    always expected"""
+    parsed_db = urlparse(SQL_URI)
+    return (parsed_db.hostname, parsed_db.username,
+            parsed_db.password, parsed_db.path[1:])
+
+
+def database_connector()->Tuple:
+    """function to create db connector"""
+    host, user, passwd, db_name = parse_db_url()
+    conn = mdb.connect(host, user, passwd, db_name)
+    cursor = conn.cursor()
+
+    return (conn, cursor)
+    
\ No newline at end of file