"""Connector for MySql Database. Connects to a mySQL database """ from typing import Any import pymysql from product_store_mapping import config from product_store_mapping.connectors import helper def get_connection(): """Get an established mysql connection. Returns: pymysql.connections.Connection: mysql connection. """ return pymysql.connect( host=config.DB_HOST, user=config.DB_USER, password=config.DB_PASS, db=config.DB_NAME, ) def execute_query(query: str, params: tuple[Any, Any] = ()): """Execute a query on mysql connection and return results. Args: query (str): query to execute on database params (tuple): parameters passed in to query Returns: tuple: query results """ conn = get_connection() try: return helper.execute_query(conn, query, params) finally: conn.close()