def METHOD_NAME(self, data, mode):
    """
    Parse search results for items.
    :param data: The raw response from a search
    :param mode: The current mode used to search, e.g. RSS
    :return: A list of items found
    """
    items = []
    torrent_rows = data.get('torrents', {})
    if not torrent_rows:
        log.debug('Data returned from provider does not contain any torrents')
        return items
    for row in torrent_rows:
        try:
            title = row.pop('title', None)
            download_url = row.pop('torrent_url', None)
            if not all([title, download_url]):
                continue
            seeders = row.pop('seeds', 0)
            leechers = row.pop('peers', 0)
            # Filter unseeded torrent
            if seeders < self.minseed:
                if mode != 'RSS':
                    log.debug("Discarding torrent because it doesn't meet the"
                              ' minimum seeders: {0}. Seeders: {1}',
                              title, seeders)
                continue
            torrent_size = row.pop('size_bytes', None)
            size = convert_size(torrent_size, default=-1)
            pubdate_raw = row.pop('date_released_unix', None)
            pubdate = self.parse_pubdate(pubdate_raw, fromtimestamp=True)
            item = {
                'title': title,
                'link': download_url,
                'size': size,
                'seeders': seeders,
                'leechers': leechers,
                'pubdate': pubdate,
            }
            if mode != 'RSS':
                log.debug('Found result: {0} with {1} seeders and {2} leechers',
                          title, seeders, leechers)
            items.append(item)
        except (AttributeError, TypeError, KeyError, ValueError, IndexError):
            log.exception('Failed parsing provider.')
    return items