List pools.

            Maps to the function :py:func:`nipap.backend.Nipap.list_pool` in
            the backend. Please see the documentation for the backend function
            for information regarding input arguments and return values.

def list(self, spec=None):
        """ List pools.

            Maps to the function :py:func:`nipap.backend.Nipap.list_pool` in
            the backend. Please see the documentation for the backend function
            for information regarding input arguments and return values.
        """

        if spec is None:
            spec = {}

        xmlrpc = XMLRPCConnection()
        try:
            pool_list = xmlrpc.connection.list_pool(
                {
                    'pool': spec,
                    'auth': AuthOptions().options
                })
        except xmlrpclib.Fault as xml_fault:
            raise _fault_to_exception(xml_fault)
        res = list()
        for pool in pool_list:
            p = Pool.from_dict(pool)
            res.append(p)

        return res