From d3586a79a9e23ccc941e5e95a16819f8eae08f68 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Jun 2017 10:18:32 +0530 Subject: [PATCH] Update Wired Daily --- recipes/wired_daily.recipe | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/wired_daily.recipe b/recipes/wired_daily.recipe index c1f7467c49..62d7df23cd 100644 --- a/recipes/wired_daily.recipe +++ b/recipes/wired_daily.recipe @@ -7,6 +7,12 @@ www.wired.com from calibre.web.feeds.news import BasicNewsRecipe +def classes(classes): + q = frozenset(classes.split(' ')) + return dict(attrs={ + 'class': lambda x: x and frozenset(x.split()).intersection(q)}) + + class WiredDailyNews(BasicNewsRecipe): title = 'Wired Daily Edition' __author__ = 'Darko Miletic' @@ -34,12 +40,12 @@ class WiredDailyNews(BasicNewsRecipe): """ remove_tags = [ + classes('related-cne-video-component tags-component podcast_storyboard inset-left-component'), dict(name=['meta', 'link']), - dict(name='div', attrs={'class': 'podcast_storyboard'}), dict(id=['sharing', 'social', 'article-tags', 'sidebar']), ] keep_only_tags = [ - dict(attrs={'data-js': ['post', 'postHeader']}), + dict(name='main', attrs={'class': lambda x: x and 'article-main-component__content' in x}), ] remove_attributes = ['srcset'] handle_gzip = True @@ -59,4 +65,4 @@ class WiredDailyNews(BasicNewsRecipe): ] def get_article_url(self, article): - return article.get('guid', None) + return article.get('link', None)