def _iter_listings(self, url, name, depth=0):
        """
        Iterate through remote listings.

        Interpret version links and either yield (name, href, location) tuples
        or recursively spider to new links.
        """
        self.logger.info("Getting remote version listing for: {}".format(name))

        response = fetch_url(url, self.get_timeout, self.logger)

        # Record the actual hostname used in case of redirection
        location = get_request_location(response, url)
        self.logger.debug("Index location was: {}".format(location))

        for link in iter_version_links(response.text, name):
            if isinstance(link, tuple):
                # Direct link
                name, href = link
                yield name, href, location
            else:
                # Recursive link
                if RemoteIndex.MAX_DEPTH <= depth:
                    try:
                        self.logger.info("Spidering to: {}".format(link))
                        for listing in self._iter_listings(link, name, depth + 1):
                            yield listing
                    except NotFoundError:
                        self.logger.debug("Unable to spider to: {}".format(link))
                else:
                    self.logger.info("Reached max depth; aborted spidering to: {}".format(link))
dataset/ETHPy150Open jessemyers/cheddar/cheddar/index/remote.py/RemoteIndex._iter_listings/swapped operands of `<=`