home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 January / maximum-cd-2011-01.iso / DiscContents / calibre-0.7.26.msi / file_4220 < prev    next >
Encoding:
Text File  |  2010-10-09  |  2.6 KB  |  61 lines

  1. __license__   = 'GPL v3'
  2. __copyright__ = '2008-2010, Darko Miletic <darko.miletic at gmail.com>'
  3. '''
  4. newyorker.com
  5. '''
  6.  
  7. from calibre.web.feeds.news import BasicNewsRecipe
  8.  
  9. class NewYorker(BasicNewsRecipe):
  10.     title                 = 'The New Yorker'
  11.     __author__            = 'Darko Miletic'
  12.     description           = 'The best of US journalism'
  13.     oldest_article        = 15
  14.     language              = 'en'
  15.     max_articles_per_feed = 100
  16.     no_stylesheets        = True
  17.     use_embedded_content  = False
  18.     publisher             = 'Conde Nast Publications'
  19.     category              = 'news, politics, USA'
  20.     encoding              = 'cp1252'
  21.     publication_type      = 'magazine'
  22.     masthead_url          = 'http://www.newyorker.com/css/i/hed/logo.gif'
  23.     extra_css             = """
  24.                                 body {font-family: "Times New Roman",Times,serif}
  25.                                 .articleauthor{color: #9F9F9F; font-family: Arial, sans-serif; font-size: small; text-transform: uppercase}
  26.                                 .rubric{color: #CD0021; font-family: Arial, sans-serif; font-size: small; text-transform: uppercase}
  27.                             """
  28.  
  29.     conversion_options = {
  30.                           'comment'   : description
  31.                         , 'tags'      : category
  32.                         , 'publisher' : publisher
  33.                         , 'language'  : language
  34.                         }
  35.     
  36.     keep_only_tags = [
  37.                         dict(name='div', attrs={'class':'headers'})
  38.                        ,dict(name='div', attrs={'id':['articleheads','items-container','articleRail','articletext','photocredits']})
  39.                      ]
  40.     remove_tags    = [
  41.                          dict(name=['meta','iframe','base','link','embed','object'])
  42.                         ,dict(attrs={'class':['utils','articleRailLinks','icons'] })                        
  43.                         ,dict(attrs={'id':['show-header','show-footer'] })                        
  44.                      ]
  45.     remove_attributes = ['lang']
  46.     feeds             = [(u'The New Yorker', u'http://feeds.newyorker.com/services/rss/feeds/everything.xml')]
  47.  
  48.     def print_version(self, url):
  49.         return url + '?printable=true'
  50.  
  51.     def image_url_processor(self, baseurl, url):
  52.         return url.strip()
  53.  
  54.     def get_cover_url(self):
  55.         cover_url = None
  56.         soup = self.index_to_soup('http://www.newyorker.com/magazine/toc/')
  57.         cover_item = soup.find('img',attrs={'id':'inThisIssuePhoto'})
  58.         if cover_item:
  59.            cover_url = 'http://www.newyorker.com' + cover_item['src'].strip()
  60.         return cover_url
  61.