aboutsummaryrefslogtreecommitdiff
path: root/gn2/utility/db_tools.py
diff options
context:
space:
mode:
authorArun Isaac2023-12-29 18:55:37 +0000
committerArun Isaac2023-12-29 19:01:46 +0000
commit204a308be0f741726b9a620d88fbc22b22124c81 (patch)
treeb3cf66906674020b530c844c2bb4982c8a0e2d39 /gn2/utility/db_tools.py
parent83062c75442160427b50420161bfcae2c5c34c84 (diff)
downloadgenenetwork2-204a308be0f741726b9a620d88fbc22b22124c81.tar.gz
Namespace all modules under gn2.
We move all modules under a gn2 directory. This is important for "correct" packaging and deployment as a Guix service.
Diffstat (limited to 'gn2/utility/db_tools.py')
-rw-r--r--gn2/utility/db_tools.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/gn2/utility/db_tools.py b/gn2/utility/db_tools.py
new file mode 100644
index 00000000..07a6d9ec
--- /dev/null
+++ b/gn2/utility/db_tools.py
@@ -0,0 +1,23 @@
+from gn2.utility.tools import get_setting
+from gn2.wqflask.database import database_connection
+
+
+def escape_(string):
+ with database_connection(get_setting("SQL_URI")) as conn:
+ return conn.escape_string(str(string))
+
+
+def create_in_clause(items):
+ """Create an in clause for mysql"""
+ in_clause = ', '.join("'{}'".format(x) for x in mescape(*items))
+ in_clause = '( {} )'.format(in_clause)
+ return in_clause
+
+
+def mescape(*items):
+ """Multiple escape"""
+ return [escape_(str(item)).decode('utf8') for item in items]
+
+
+def escape(string_):
+ return escape_(string_).decode('utf8')