code: def find_resource_list_from_capability_list(self, uri):
          
          self.logger.info("Reading capability list %s" % (uri))
          try:
              cl = CapabilityList()
              cl.read(uri=uri)
          except Exception as e:
              raise ClientError(
                  "Can't read capability list from %s (%s)" %
                  (uri, str(e)))
          if (not cl.has_capability('resourcelist')):
              raise ClientFatalError(
                  "Capability list %s does not describe a resource list" % (uri))
          rluri = cl.capability_info('resourcelist').uri
          return(urljoin(uri, rluri))
docs: Read capability list to find resource list.
  
          Raises a ClientError in cases where the client might look for a
          capability list in another location, but a ClientFatalError if
          a capability list is found but there is some problem using it.