from .DBconnect import DBContextManager def select_list(db_config, sql) -> list: with DBContextManager(db_config) as cursor: if cursor is None: raise ValueError("Cursor not created") else: cursor.execute(sql) result = cursor.fetchall() schema = [item[0] for item in cursor.description] lst = [dict(zip(schema, row)) for row in result] return lst def procedure(db_config, name, args: tuple) -> list: with DBContextManager(db_config) as cursor: if cursor is None: raise ValueError("Cursor not created") else: cursor.callproc(name, args) result = cursor.fetchone()[0] return result def transaction(cursor, sql): cursor.execute(sql) return True