__license__ = 'GPL v3' __copyright__ = '2010, Darko Miletic ' ''' thewest.com.au ''' import re from calibre.web.feeds.news import BasicNewsRecipe class TheWest(BasicNewsRecipe): title = 'The West Australian' __author__ = 'Darko Miletic' description = 'News from Australia' publisher = 'thewest.com.au' category = 'news, politics, Australia' oldest_article = 2 max_articles_per_feed = 200 no_stylesheets = True encoding = 'utf8' use_embedded_content = False language = 'en_AU' remove_empty_feeds = True publication_type = 'newspaper' masthead_url = 'http://l.yimg.com/ao/i/mp/properties/news/02/wan/img/wan-logo-h49.png' extra_css = ' .article{font-family: Arial,Helvetica,sans-serif } .image{font-size: x-small} ' preprocess_regexps = [ (re.compile(r'.*?', re.DOTALL | re.IGNORECASE), lambda match: '') ] conversion_options = { 'comment': description, 'tags': category, 'publisher': publisher, 'language': language } remove_tags = [ dict(attrs={'class': ['tools', 'lhs']}), dict(attrs={ 'id': 'tools-bottom'}), dict(attrs={'href': 'http://twitter.com/thewest_com_au'}) ] keep_only_tags = [dict(attrs={'class': 'mod article'})] remove_attributes = ['width', 'height'] feeds = [ (u'WA News', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/wa.xml'), (u'National', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/national.xml'), (u'World', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/world.xml'), (u'Offbeat', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/offbeat.xml'), (u'Business', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/business.xml'), (u'Sport', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/sport.xml'), (u'Entertainment', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/entertainment.xml'), (u'Travel', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/travel.xml'), (u'Life+Style', u'http://d.yimg.com/au.rss.news.yahoo.com/thewest/lifestyle.xml') ] def get_article_url(self, article): return article.get('guid', None) def preprocess_html(self, soup): return self.adeify_images(soup)