#!/usr/bin/env python __license__ = 'GPL v3' __copyright__ = '2008-2009, Darko Miletic ' ''' spiegel.de ''' from calibre.web.feeds.news import BasicNewsRecipe class Spiegel_int(BasicNewsRecipe): title = 'Spiegel Online International' __author__ = 'Darko Miletic and Sujata Raman' description = "News and POV from Europe's largest newsmagazine" oldest_article = 7 max_articles_per_feed = 100 language = 'en' no_stylesheets = True use_embedded_content = False publisher = 'SPIEGEL ONLINE GmbH' category = 'news, politics, Germany' lang = 'en' recursions = 1 match_regexps = [r'http://www.spiegel.de/.*-[1-9],00.html'] conversion_options = { 'comments' : description ,'tags' : category ,'language' : lang ,'publisher' : publisher ,'pretty_print': True } extra_css = ''' #spArticleColumn{font-family:verdana,arial,helvetica,geneva,sans-serif ; } h1{color:#666666; font-weight:bold;} h2{color:#990000;} h3{color:#990000;} h4 {color:#990000;} a{color:#990000;} .spAuthor{font-style:italic;} #spIntroTeaser{font-weight:bold;} .spCredit{color:#666666; font-size:x-small;} .spShortDate{font-size:x-small;} .spArticleImageBox {font-size:x-small;} .spPhotoGallery{font-size:x-small; color:#990000 ;} ''' keep_only_tags = [ dict(name ='div', attrs={'id': ['spArticleImageBox spAssetAlignleft','spArticleColumn']}), ] remove_tags = [ dict(name='div', attrs={'id':['spSocialBookmark','spArticleFunctions','spMultiPagerHeadlines',]}), dict(name='div', attrs={'class':['spCommercial spM520','spArticleCredit','spPicZoom']}), ] feeds = [(u'Spiegel Online', u'http://www.spiegel.de/schlagzeilen/rss/0,5291,676,00.xml')] def postprocess_html(self, soup,first): for tag in soup.findAll(name='div',attrs={'id':"spMultiPagerControl"}): tag.extract() p = soup.find(name = 'p', attrs={'id':'spIntroTeaser'}) if p.string is not None: t = p.string.rpartition(':')[0] if 'Part'in t: if soup.h1 is not None: soup.h1.extract() if soup.h2 is not None: soup.h2.extract() functag = soup.find(name= 'div', attrs={'id':"spArticleFunctions"}) if functag is not None: functag.extract() auttag = soup.find(name= 'p', attrs={'class':"spAuthor"}) if auttag is not None: auttag.extract() pictag = soup.find(name= 'div', attrs={'id':"spArticleTopAsset"}) if pictag is not None: pictag.extract() return soup # def print_version(self, url): # main, sep, rest = url.rpartition(',') # rmain, rsep, rrest = main.rpartition(',') # return rmain + ',druck-' + rrest + ',' + rest