__license__ = 'GPL v3' __copyright__ = '2008-2014, Karthik , Darko Miletic ' ''' economictimes.indiatimes.com ''' from calibre.web.feeds.news import BasicNewsRecipe class TheEconomicTimes(BasicNewsRecipe): title = 'The Economic Times India' __author__ = 'Karthik, Darko Miletic' description = 'Financial news from India' publisher = 'economictimes.indiatimes.com' category = 'news, finances, politics, India' oldest_article = 1 max_articles_per_feed = 100 no_stylesheets = True use_embedded_content = False simultaneous_downloads = 1 encoding = 'utf-8' language = 'en_IN' publication_type = 'newspaper' masthead_url = 'http://economictimes.indiatimes.com/photo/2676871.cms' extra_css = """ body{font-family: Arial,Helvetica,sans-serif} .foto_mg{font-size: 60%; font-weight: 700;} h1{font-size: 150%;} artdate{font-size: 60%} artag{font-size: 60%} div.storycontent{padding-top: 10px} """ conversion_options = {'comment': description, 'tags': category, 'publisher': publisher, 'language': language } remove_tags_before = dict(name='article') remove_tags_after = [dict(name='article')] keep_only_tags = [dict(name='h1', attrs={'class': 'title'}), dict(name='div', attrs={'class': 'bylineFull'}), dict(name='div', attrs={'class': 'articleImg'}), dict(name='div', attrs={'class': 'artText'}) ] remove_tags = [dict(name='div', attrs={'class': 'cmtLinks'}), dict(name='div', attrs={'class': 'raltedTopics'}), dict(name='div', attrs={'class': 'editorsPick'}), dict(name='div', attrs={'class': 'articleImg etSpecial'}), dict(name='div', attrs={'class': 'articleImg artAd'}), dict(name='div', attrs={'class': 'appPromotion'}) ] remove_attributes = ['xmlns'] feeds = [(u'Top Stories', u'http://economictimes.indiatimes.com/rssfeedstopstories.cms'), (u'News', u'http://economictimes.indiatimes.com/News/rssfeeds/1715249553.cms'), (u'Market', u'http://economictimes.indiatimes.com/Markets/markets/rssfeeds/1977021501.cms'), (u'Personal Finance', u'http://economictimes.indiatimes.com/rssfeeds/837555174.cms'), (u'Infotech', u'http://economictimes.indiatimes.com/Infotech/rssfeeds/13357270.cms'), (u'Job', u'http://economictimes.indiatimes.com/Infotech/rssfeeds/107115.cms'), (u'Opinion', u'http://economictimes.indiatimes.com/opinion/opinionshome/rssfeeds/897228639.cms'), (u'Features', u'http://economictimes.indiatimes.com/Features/etfeatures/rssfeeds/1466318837.cms'), (u'Environment', u'http://economictimes.indiatimes.com/rssfeeds/2647163.cms'), (u'NRI', u'http://economictimes.indiatimes.com/rssfeeds/7771250.cms') ] # Uses the mobile print version. For web print version use # 'http://economictimes.indiatimes.com/articleshow/?prtpage=1' def print_version(self, url): rest, sep, article_id = url.rpartition('/articleshow/') # return 'http://m.economictimes.com/PDAET/articleshow/' + article_id return 'http://economictimes.indiatimes.com/articleshow/' + article_id + '?prtpage=1' def get_article_url(self, article): rurl = article.get('link', None) if (rurl.find('/quickieslist/') > 0) or (rurl.find('/quickiearticleshow/') > 0): return None return rurl def preprocess_html(self, soup): for item in soup.findAll(style=True): del item['style'] return soup def postprocess_html(self, soup, first_fetch): return self.adeify_images(soup)