diff options
Diffstat (limited to 'gn3/db_utils.py')
-rw-r--r-- | gn3/db_utils.py | 24 |
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 |