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

  1. import re
  2. from calibre.web.feeds.news import BasicNewsRecipe
  3.  
  4. class JerusalemPost(BasicNewsRecipe):
  5.  
  6.     title       = 'Jerusalem Post'
  7.     description = 'News from Israel and the Middle East'
  8.     use_embedded_content   = False
  9.     language = 'en'
  10.  
  11.     __author__ = 'Kovid Goyal'
  12.     max_articles_per_feed = 10
  13.     no_stylesheets = True
  14.  
  15.     feeds =  [ ('Front Page', 'http://www.jpost.com/servlet/Satellite?pagename=JPost/Page/RSS&cid=1123495333346'),
  16.                ('Israel News', 'http://www.jpost.com/servlet/Satellite?pagename=JPost/Page/RSS&cid=1178443463156'),
  17.                ('Middle East News', 'http://www.jpost.com/servlet/Satellite?pagename=JPost/Page/RSS&cid=1123495333498'),
  18.                ('International News', 'http://www.jpost.com/servlet/Satellite?pagename=JPost/Page/RSS&cid=1178443463144'),
  19.                ('Editorials', 'http://www.jpost.com/servlet/Satellite?pagename=JPost/Page/RSS&cid=1123495333211'),
  20.           ]
  21.  
  22.     remove_tags = [
  23.             dict(id=lambda x: x and 'ads.' in x),
  24.             dict(attrs={'class':['printinfo', 'tt1']}),
  25.             dict(onclick='DoPrint()'),
  26.             dict(name='input'),
  27.             ]
  28.  
  29.     conversion_options = {'linearize_tables':True}
  30.  
  31.     def preprocess_html(self, soup):
  32.         for tag in soup.findAll('form'):
  33.             tag.name = 'div'
  34.         return soup
  35.  
  36.     def print_version(self, url):
  37.         m = re.search(r'(ID|id)=(\d+)', url)
  38.         if m is not None:
  39.             id_ = m.group(2)
  40.             return 'http://www.jpost.com/LandedPages/PrintArticle.aspx?id=%s'%id_
  41.         return url
  42.  
  43.