diff --git a/src/calibre/gui2/images/news/tomshardware_de.png b/src/calibre/gui2/images/news/tomshardware_de.png new file mode 100644 index 0000000000..c31412474c Binary files /dev/null and b/src/calibre/gui2/images/news/tomshardware_de.png differ diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 0c6e48131e..faeb65c193 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -21,7 +21,8 @@ recipe_modules = ['recipe_' + r for r in ( 'linux_magazine', 'telegraph_uk', 'utne', 'sciencedaily', 'forbes', 'time_magazine', 'endgadget', 'fudzilla', 'nspm_int', 'nspm', 'pescanik', 'spiegel_int', 'themarketticker', 'tomshardware', 'xkcd', 'ftd', 'zdnet', - 'joelonsoftware', 'telepolis', 'common_dreams', 'nin', + 'joelonsoftware', 'telepolis', 'common_dreams', 'nin', 'tomshardware_de', + )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_tomshardware.py b/src/calibre/web/feeds/recipes/recipe_tomshardware.py index 657a6911f7..b0b155666f 100644 --- a/src/calibre/web/feeds/recipes/recipe_tomshardware.py +++ b/src/calibre/web/feeds/recipes/recipe_tomshardware.py @@ -6,7 +6,6 @@ __copyright__ = '2008, Darko Miletic ' tomshardware.com ''' -from calibre.ebooks.BeautifulSoup import BeautifulSoup from calibre.web.feeds.recipes import BasicNewsRecipe class Tomshardware(BasicNewsRecipe): @@ -50,7 +49,7 @@ class Tomshardware(BasicNewsRecipe): rmain, rsep, article_id = main.rpartition(',') tmain, tsep, trest = rmain.rpartition('/reviews/') if tsep: - return 'http://www.tomshardware.com/review_print.php?p1=' + article_id + return 'http://www.tomshardware.com/review_print.php?p1=' + article_id return 'http://www.tomshardware.com/news_print.php?p1=' + article_id def preprocess_html(self, soup): diff --git a/src/calibre/web/feeds/recipes/recipe_tomshardware_de.py b/src/calibre/web/feeds/recipes/recipe_tomshardware_de.py new file mode 100644 index 0000000000..78d820e246 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_tomshardware_de.py @@ -0,0 +1,54 @@ +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal ' + +''' +Fetch tomshardware. +''' + +from calibre.web.feeds.news import BasicNewsRecipe +import re + + +class TomsHardwareDe(BasicNewsRecipe): + + title = 'Tom\'s Hardware German' + description = 'Computer news in german' + __author__ = 'Oliver Niesner' + use_embedded_content = False + timefmt = ' [%d %b %Y]' + max_articles_per_feed = 50 + no_stylesheets = True + encoding = 'utf-8' + + #preprocess_regexps = \ +# [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in +# [ +# (r'<84>', lambda match: ''), +# (r'<93>', lambda match: ''), +# ] +# ] + + remove_tags = [dict(id='outside-advert'), + dict(id='advertRightWhite'), + dict(id='header-advert'), + dict(id='header-banner'), + dict(id='header-menu'), + dict(id='header-top'), + dict(id='header-tools'), + dict(id='nbComment'), + dict(id='internalSidebar'), + dict(id='header-news-infos'), + dict(id='breadcrumbs'), + dict(id=''), + dict(name='div', attrs={'class':'pyjama'}), + dict(name='href', attrs={'class':'comment'}), + dict(name='div', attrs={'class':'greyBoxR clearfix'}), + dict(name='div', attrs={'class':'greyBoxL clearfix'}), + dict(name='div', attrs={'class':'greyBox clearfix'}), + dict(id='')] + #remove_tags_before = [dict(id='header-news-title')] + remove_tags_after = [dict(name='div', attrs={'class':'news-elm'})] + #remove_tags_after = [dict(name='div', attrs={'class':'intelliTXT'})] + + feeds = [ ('tomshardware', 'http://www.tomshardware.com/de/feeds/rss2/tom-s-hardware-de,12-1.xml') ] +