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()