home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Calibre / calibre-0.8.18.msi / file_280 / zeitde.recipe < prev    next >
Text File  |  2011-09-09  |  3KB  |  76 lines

  1. __license__   = 'GPL v3'
  2. __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
  3.  
  4. '''
  5. Fetch Die Zeit.
  6. '''
  7.  
  8. from calibre.web.feeds.news import BasicNewsRecipe
  9.  
  10. class ZeitDe(BasicNewsRecipe):
  11.  
  12.     title = 'Zeit Online'
  13.     description = 'Zeit Online'
  14.     language = 'de'
  15.     encoding = 'UTF-8'
  16.  
  17.     __author__ = 'Martin Pitt, Sujata Raman, Ingo Paschke and Marc Toensing'
  18.     no_stylesheets = True
  19.  
  20.     max_articles_per_feed = 40
  21.  
  22.     remove_tags = [
  23.                         dict(name='iframe'),
  24.                         dict(name='div', attrs={'class':["response","pagination block","pagenav","inline link", "copyright"] }),
  25.                         dict(name='p', attrs={'class':["ressortbacklink", "copyright"] }),
  26.                         dict(name='div', attrs={'id':["place_5","place_4","comments"]})
  27.                       ]
  28.  
  29.     keep_only_tags = [dict(id=['main'])]
  30.  
  31.     feeds =  [
  32.                ('Seite 1', 'http://newsfeed.zeit.de/index_xml'),
  33.                ('Politik', 'http://newsfeed.zeit.de/politik/index'),
  34.                ('Wirtschaft', 'http://newsfeed.zeit.de/wirtschaft/index'),
  35.                ('Meinung', 'http://newsfeed.zeit.de/meinung/index'),
  36.                ('Gesellschaft', 'http://newsfeed.zeit.de/gesellschaft/index'),
  37.                ('Kultur', 'http://newsfeed.zeit.de/kultur/index'),
  38.                ('Wissen', 'http://newsfeed.zeit.de/wissen/index'),
  39.                ('Digital', 'http://newsfeed.zeit.de/digital/index'),
  40.                ('Studium', 'http://newsfeed.zeit.de/studium/index'),
  41.                ('Karriere', 'http://newsfeed.zeit.de/karriere/index'),
  42.                ('Lebensart', 'http://newsfeed.zeit.de/lebensart/index'),
  43.                ('Reisen', 'http://newsfeed.zeit.de/reisen/index'),
  44.                ('Auto', 'http://newsfeed.zeit.de/auto/index'),
  45.                ('Sport', 'http://newsfeed.zeit.de/sport/index'),
  46.              ]
  47.  
  48.     extra_css = '.excerpt{font-size:1em}.reaktion,.taglist,.comments,.reponse,.responsetitle,.responsebody,.reponse,.inline,.date{display:none;}li.date{display:block}'
  49.  
  50.     #filter_regexps = [r'ad.de.doubleclick.net/']
  51.  
  52.     def get_article_url(self, article):
  53.         ans = article.get('link',None)
  54.         ans += "?page=all&print=true"
  55.  
  56.         if 'video' in ans or 'quiz' in ans or 'blog' in ans :
  57.               ans = None
  58.         return ans
  59.  
  60.     def preprocess_html(self, soup):
  61.         for tag in soup.findAll(name=['ul','li']):
  62.             tag.name = 'div'
  63.  
  64.         soup.html['xml:lang'] = self.language.replace('_', '-')
  65.         soup.html['lang']     = self.language.replace('_', '-')
  66.         mtag = '<meta http-equiv="Content-Type" content="text/html; charset=' + self.encoding + '">'
  67.         soup.head.insert(0,mtag)
  68.         return soup
  69.  
  70.     def get_cover_url(self):
  71.         try:
  72.             inhalt = self.index_to_soup('http://www.zeit.de/inhalt')
  73.             return inhalt.find('div', attrs={'class':'singlearchive clearfix'}).img['src'].replace('icon_','')
  74.         except:
  75.             return 'http://images.zeit.de/bilder/titelseiten_zeit/1946/001_001.jpg'
  76.