__license__ = 'GPL v3' __copyright__ = '2009-2013, Darko Miletic ' ''' www.thestar.com ''' def classes(classes): q = frozenset(classes.split(' ')) return dict(attrs={'class': lambda x: x and frozenset(x.split()).intersection(q)}) from calibre.web.feeds.news import BasicNewsRecipe class TheTorontoStar(BasicNewsRecipe): title = 'The Toronto Star' __author__ = 'Darko Miletic' description = "Thestar.com is Canada's largest online news site. Stay current with our sports, business entertainment news and more from the Toronto Star and thestar.com" # noqa oldest_article = 2 language = 'en_CA' max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False delay = 2 publisher = 'The Toronto Star' encoding = 'utf-8' masthead_url = 'http://www.thestar.com/etc/designs/thestar/images/general/logoLrg.png' keep_only_tags = [ classes('o-main-content') ] remove_tags = [ classes( 'article-continue-basic-container label-modal-bottom print-header' ' cta-container share-toolbar-container c-related-articles c-partner-articles c-more-articles c-top-articles'), dict(name='button') ] remove_tags_after = [ classes('article-content-container') ] feeds = [ (u'News', u'http://www.thestar.com/feeds.articles.news.rss'), (u'Opinion', u'http://www.thestar.com/feeds.articles.opinion.rss'), (u'Business', u'http://www.thestar.com/feeds.articles.business.rss'), (u'Sports', u'http://www.thestar.com/feeds.articles.sports.rss'), (u'Entertainment', u'http://www.thestar.com/feeds.articles.entertainment.rss'), (u'Living', u'http://www.thestar.com/feeds.articles.life.rss'), (u'Travel', u'http://www.thestar.com/feeds.articles.life.travel.rss'), (u'Technology', u'http://www.thestar.com/feeds.articles.life.technology.rss') ]