This commit is contained in:
Kovid Goyal 2014-03-07 09:05:58 +05:30
parent 6f30914a52
commit d410d11e55

View File

@ -4,7 +4,6 @@ __copyright__ = '2010-2014, Darko Miletic <darko.miletic at gmail.com>'
www.ft.com/intl/uk-edition www.ft.com/intl/uk-edition
''' '''
import datetime
from calibre.ptempfile import PersistentTemporaryFile from calibre.ptempfile import PersistentTemporaryFile
from calibre import strftime from calibre import strftime
from calibre.web.feeds.news import BasicNewsRecipe from calibre.web.feeds.news import BasicNewsRecipe
@ -13,7 +12,7 @@ from collections import OrderedDict
class FinancialTimes(BasicNewsRecipe): class FinancialTimes(BasicNewsRecipe):
title = 'Financial Times (UK)' title = 'Financial Times (UK)'
__author__ = 'Darko Miletic' __author__ = 'Darko Miletic'
description = "The Financial Times (FT) is one of the world's leading business news and information organisations, recognised internationally for its authority, integrity and accuracy." description = "The Financial Times (FT) is one of the world's leading business news and information organisations, recognised internationally for its authority, integrity and accuracy." # noqa
publisher = 'The Financial Times Ltd.' publisher = 'The Financial Times Ltd.'
category = 'news, finances, politics, UK, World' category = 'news, finances, politics, UK, World'
oldest_article = 2 oldest_article = 2
@ -58,7 +57,7 @@ class FinancialTimes(BasicNewsRecipe):
dict(name='div', attrs={'id':'floating-con'}) dict(name='div', attrs={'id':'floating-con'})
,dict(name=['meta','iframe','base','object','embed','link']) ,dict(name=['meta','iframe','base','object','embed','link'])
,dict(attrs={'class':['storyTools','story-package','screen-copy','story-package separator','expandable-image','promobox']}) ,dict(attrs={'class':['storyTools','story-package','screen-copy','story-package separator','expandable-image','promobox']})
,dict(name='div', attrs={'class':lambda x: x and 'insideArticleRelatedTopics' in x.split()} ) ,dict(name='div', attrs={'class':lambda x: x and 'insideArticleRelatedTopics' in x.split()})
] ]
remove_attributes = ['width','height','lang'] remove_attributes = ['width','height','lang']
@ -106,10 +105,11 @@ class FinancialTimes(BasicNewsRecipe):
#self.timefmt = ' [%s]'%dates #self.timefmt = ' [%s]'%dates
section_title = 'Untitled' section_title = 'Untitled'
for column in soup.findAll('div', attrs = {'class':'feedBoxes clearfix'}): for column in soup.findAll('div', attrs={'class':'feedBoxes clearfix'}):
for section in column. findAll('div', attrs = {'class':'feedBox'}): for section in column. findAll('div', attrs={'class':'feedBox'}):
sectiontitle=self.tag_to_string(section.find('h4')) sectiontitle=self.tag_to_string(section.find('h4'))
if '...' not in sectiontitle: section_title=sectiontitle if '...' not in sectiontitle:
section_title=sectiontitle
for article in section.ul.findAll('li'): for article in section.ul.findAll('li'):
articles = [] articles = []
title=self.tag_to_string(article.a) title=self.tag_to_string(article.a)
@ -121,7 +121,6 @@ class FinancialTimes(BasicNewsRecipe):
feeds[section_title] = [] feeds[section_title] = []
feeds[section_title] += articles feeds[section_title] += articles
ans = [(key, val) for key, val in feeds.iteritems()] ans = [(key, val) for key, val in feeds.iteritems()]
return ans return ans