From 26b320c7cf3801c6fa7a56b539e70ee608136231 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 28 Jul 2011 22:37:33 -0600 Subject: [PATCH] ... --- recipes/economist.recipe | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/economist.recipe b/recipes/economist.recipe index 702e3c6601..5bb53535af 100644 --- a/recipes/economist.recipe +++ b/recipes/economist.recipe @@ -70,7 +70,8 @@ class Economist(BasicNewsRecipe): def economist_parse_index(self): soup = self.index_to_soup(self.INDEX) feeds = OrderedDict() - for section in soup.findAll(attrs={'class':'section'}): + for section in soup.findAll(attrs={'class':lambda x: x and 'section' in + x}): h4 = section.find('h4') if h4 is None: continue @@ -93,6 +94,19 @@ class Economist(BasicNewsRecipe): article_title += ': %s'%self.tag_to_string(a).strip() articles.append({'title':article_title, 'url':url, 'description':'', 'date':''}) + if not articles: + # We have last or first section + for art in section.findAll(attrs={'class':'article'}): + a = art.find('a', href=True) + if a is not None: + url = a['href'] + if url.startswith('/'): url = 'http://www.economist.com'+url + url += '/print' + title = self.tag_to_string(a) + if title: + articles.append({'title':title, 'url':url, + 'description':'', 'date':''}) + if articles: feeds[section_title] = articles