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

  1. from calibre.web.feeds.news import BasicNewsRecipe
  2. class AdvancedUserRecipe1305470859(BasicNewsRecipe):
  3.     title                 = u'Capital.de'
  4.     language              = 'de'
  5.     __author__            = 'schuster'
  6.     oldest_article        =7
  7.     max_articles_per_feed = 35
  8.     no_stylesheets        = True
  9.     remove_javascript     = True
  10.     use_embedded_content  = False
  11.     masthead_url = 'http://www.wirtschaftsmedien-shop.de/media/stores/wirtschaftsmedien/capital/teaser_large_abo.jpg'
  12.     cover_url = 'http://d1kb9jvg6ylufe.cloudfront.net/WebsiteCMS/de/unternehmen/linktipps/mainColumn/08/image/DE_Capital_bis20mm_SW.jpg'
  13.  
  14.     extra_css = '''
  15.                     h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;}
  16.                     h4{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;}
  17.                     img {min-width:300px; max-width:600px; min-height:300px; max-height:800px}
  18.                     p{font-family:Arial,Helvetica,sans-serif;font-size:small;}
  19.                     body{font-family:Helvetica,Arial,sans-serif;font-size:small;}
  20.     '''
  21.     def print_version(self, url):
  22.         return url.replace ('nv=rss#utm_source=rss2&utm_medium=rss_feed&utm_campaign=/', 'mode=print')
  23.     remove_tags_bevor = [dict(name='td', attrs={'class':'textcell'})]
  24.     remove_tags_after = [dict(name='div', attrs={'class':'artikelsplit'})]
  25.  
  26.     feeds = [   (u'Wirtschaftsmagazin', u'http://www.capital.de/rss/'),
  27.     (u'Unternehmen', u'http://www.capital.de/rss/unternehmen'),
  28.     (u'Finanz & Geldanlage', u'http://www.capital.de/rss/finanzen/geldanlage')]
  29.  
  30.     def append_page(self, soup, appendtag, position):
  31.         pager = soup.find('div',attrs={'class':'artikelsplit'})
  32.         if pager:
  33.            nexturl = self.INDEX + pager.a['href']
  34.            soup2 = self.index_to_soup(nexturl)
  35.            texttag = soup2.find('div', attrs={'class':'printable'})
  36.            for it in texttag.findAll(style=True):
  37.                del it['style']
  38.            newpos = len(texttag.contents)
  39.            self.append_page(soup2,texttag,newpos)
  40.            texttag.extract()
  41.            appendtag.insert(position,texttag)
  42.  
  43.  
  44.     def preprocess_html(self, soup):
  45.         for item in soup.findAll(style=True):
  46.             del item['style']
  47.         for item in soup.findAll('div', attrs={'class':'artikelsplit'}):
  48.             item.extract()
  49.         self.append_page(soup, soup.body, 3)
  50.         pager = soup.find('div',attrs={'class':'artikelsplit'})
  51.         if pager:
  52.            pager.extract()
  53.         return self.adeify_images(soup)
  54.  
  55.  
  56.  
  57.     remove_tags = [dict(attrs={'class':['navSeitenAlle', 'kommentieren', 'teaserheader', 'teasercontent', 'info', 'zwischenhead', 'artikelsplit']}),
  58.                 dict(id=['topNav', 'mainNav', 'subNav', 'socialmedia', 'footerRahmen', 'gatrixx_marktinformationen', 'pager', 'weitere']),
  59.                 dict(span=['ratingtext', 'Gesamtranking', 'h3','']),
  60.     dict(rel=['canonical'])]
  61.  
  62.