diff --git a/resources/recipes/financial_times_uk.recipe b/resources/recipes/financial_times_uk.recipe index 152e6a9f59..cf219cfda1 100644 --- a/resources/recipes/financial_times_uk.recipe +++ b/resources/recipes/financial_times_uk.recipe @@ -1,5 +1,5 @@ __license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' +__copyright__ = '2010-2011, Darko Miletic ' ''' ft.com ''' @@ -52,22 +52,38 @@ class FinancialTimes(BasicNewsRecipe): .copyright{font-size: x-small} """ - def parse_index(self): + def get_artlinks(self, elem): articles = [] + for item in elem.findAll('a',href=True): + url = self.PREFIX + item['href'] + title = self.tag_to_string(item) + date = strftime(self.timefmt) + articles.append({ + 'title' :title + ,'date' :date + ,'url' :url + ,'description':'' + }) + return articles + + def parse_index(self): + feeds = [] soup = self.index_to_soup(self.INDEX) wide = soup.find('div',attrs={'class':'wide'}) - if wide: - for item in wide.findAll('a',href=True): - url = self.PREFIX + item['href'] - title = self.tag_to_string(item) - date = strftime(self.timefmt) - articles.append({ - 'title' :title - ,'date' :date - ,'url' :url - ,'description':'' - }) - return [('FT UK edition',articles)] + if not wide: + return feeds + strest = wide.findAll('h3', attrs={'class':'section'}) + if not strest: + return feeds + st = wide.find('h4',attrs={'class':'section-no-arrow'}) + if st: + strest.insert(0,st) + for item in strest: + ftitle = self.tag_to_string(item) + self.report_progress(0, _('Fetching feed')+' %s...'%(ftitle)) + feedarts = self.get_artlinks(item.parent.ul) + feeds.append((ftitle,feedarts)) + return feeds def preprocess_html(self, soup): return self.adeify_images(soup)