import contextlib
import mysql.connector


@contextlib.contextmanager
def connection(db_params):
    cx = None
    try:
        cx = mysql.connector.connect(
            host=db_params["hostname"],
            user=db_params["username"],
            passwd=db_params["password"],
            db=db_params["dbname"])
        yield cx
    finally:
        if cx:
            cx.close()


@contextlib.contextmanager
def cursor(cnx):  # pragma: no cover
    csr = None
    try:
        csr = cnx.cursor()
        yield csr
    finally:
        if csr:
            csr.close()