class DB: connection_pool = None @classmethod def get_cursor(cls): connection = cls.connection_pool.getconn() return connection, connection.cursor() @classmethod def close_cursor(cls, connection, cursor): cursor.close() cls.connection_pool.putconn(connection) @classmethod def fetchone(cls, query, *args): connection, cursor = cls.get_cursor() cursor.execute(query, args) res = cursor.fetchone(), cursor.query cls.close_cursor(connection, cursor) return res @classmethod def fetchall(cls, query, *args): connection, cursor = cls.get_cursor() cursor.execute(query, args) res = cursor.fetchall(), cursor.query cls.close_cursor(connection, cursor) return res