"""MySQL Client for ows-artist testing..""" from os import getenv from pymysql import connect class MySQLClient: """MySQL Client for ows-artist testing.""" def __init__(self): """Initialize MySQLClient class.""" self.db_host = getenv('QA_DB_HOST') self.db_user = getenv('QA_DB_USER') self.db_password = getenv('QA_DB_PASS') self.db_database = getenv('QA_DB_DATABASE') def execute_query(self, query_string, parameters): """Execute a query.""" connection = connect(host=self.db_host, user=self.db_user, password=self.db_password, db=self.db_database) try: cursor = connection.cursor() result = cursor.execute(query_string, parameters) finally: cursor.close() connection.commit() connection.close() return result def fetch_one(self, query_string, parameters): """Execute a query and return the first row (or None).""" connection = connect(host=self.db_host, user=self.db_user, password=self.db_password, db=self.db_database) try: cursor = connection.cursor() cursor.execute(query_string, parameters) row = cursor.fetchone() finally: cursor.close() connection.close() return row