'Create a list of articles from the list of feeds returned by :meth:`BasicNewsRecipe.get_feeds`.
Return a list of :class:`Feed` objects.'

def parse_feeds(self):

    feeds = self.get_feeds()
    parsed_feeds = []
    for obj in feeds:
        if isinstance(obj, basestring):
            (title, url) = (None, obj)
        else:
            (title, url) = obj
        if url.startswith('feed://'):
            url = ('http' + url[4:])
        self.report_progress(0, (_('Fetching    feed') + ('    %s...' % (title if title else url))))
        try:
            with closing(self.browser.open(url)) as f:
                parsed_feeds.append(feed_from_xml(f.read(), title=title, log=self.log, oldest_article=self.oldest_article, max_articles_per_feed=self.max_articles_per_feed, get_article_url=self.get_article_url))
                if (self.delay > 0):
                    time.sleep(self.delay)
        except Exception as err:
            feed = Feed()
            msg = ('Failed    feed:    %s' % (title if title else url))
            feed.populate_from_preparsed_feed(msg, [])
            feed.description = as_unicode(err)
            parsed_feeds.append(feed)
            self.log.exception(msg)
    remove = [fl for fl in parsed_feeds if ((len(fl) == 0) and self.remove_empty_feeds)]
    for f in remove:
        parsed_feeds.remove(f)
    return parsed_feeds
