diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 87cb2170f8..6ed58b4282 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -24,6 +24,7 @@ recipe_modules = ['recipe_' + r for r in ( 'joelonsoftware', 'telepolis', 'common_dreams', 'nin', 'tomshardware_de', 'pagina12', 'infobae', 'ambito', 'elargentino', 'sueddeutsche', 'the_age', 'laprensa', 'amspec', 'freakonomics', 'criticadigital', 'elcronista', + 'shacknews', )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_shacknews.py b/src/calibre/web/feeds/recipes/recipe_shacknews.py new file mode 100644 index 0000000000..878384f63b --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_shacknews.py @@ -0,0 +1,26 @@ + +from calibre.web.feeds.news import BasicNewsRecipe + +class Shacknews(BasicNewsRecipe): + __author__ = 'Docbrown00' + __license__ = 'GPL v3' + title = u'Shacknews' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_tags = [dict(name='div', attrs={'class': ['nuggets', 'comments']}), + dict(name='p', attrs={'class': 'videoembed'})] + keep_only_tags = [dict(name='div', attrs={'class':'story'})] + feeds = [ + (u'Latest News', u'http://feed.shacknews.com/shackfeed.xml'), + (u'PC', u'http://feed.shacknews.com/extras/tag_rss.x/PC'), + (u'Wii', u'http://feed.shacknews.com/extras/tag_rss.x/Nintendo+Wii'), + (u'Xbox 360', u'http://feed.shacknews.com/extras/tag_rss.x/Xbox+360'), + (u'Playstation 3', u'http://feed.shacknews.com/extras/tag_rss.x/PlayStation+3'), + (u'PSP', u'http://feed.shacknews.com/extras/tag_rss.x/PSP'), + (u'Nintendo DS', u'http://feed.shacknews.com/extras/tag_rss.x/Nintendo+DS'), + (u'iPhone', u'http://feed.shacknews.com/extras/tag_rss.x/iPhone'), + (u'DLC', u'http://feed.shacknews.com/extras/tag_rss.x/DLC'), + (u'Valve', u'http://feed.shacknews.com/extras/tag_rss.x/Valve'), + (u'Electronic Arts', u'http://feed.shacknews.com/extras/tag_rss.x/Electronic+Arts') + ]