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

  1. __license__   = 'GPL v3'
  2. __copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>'
  3. '''
  4. www.elpais.com
  5. '''
  6.  
  7. from calibre.web.feeds.news import BasicNewsRecipe
  8.  
  9. class ElPais_RSS(BasicNewsRecipe):
  10.     title                 = 'El Pais'
  11.     __author__            = 'Darko Miletic'
  12.     description           = 'el periodico global en Castellano'
  13.     publisher             = 'EDICIONES EL PAIS, S.L.'
  14.     category              = 'news, politics, finances, world, spain'
  15.     oldest_article        = 2
  16.     max_articles_per_feed = 200
  17.     no_stylesheets        = True
  18.     encoding              = 'cp1252'
  19.     use_embedded_content  = False
  20.     language              = 'es'
  21.     remove_empty_feeds    = True
  22.     publication_type      = 'newspaper'
  23.     masthead_url          = 'http://www.elpais.com/im/tit_logo.gif'
  24.     extra_css             = """
  25.                                body{font-family: Georgia,"Times New Roman",Times,serif }
  26.                                h3{font-family: Arial,Helvetica,sans-serif}
  27.                                img{margin-bottom: 0.4em; display:block}
  28.                             """
  29.  
  30.     conversion_options = {
  31.                           'comment'   : description
  32.                         , 'tags'      : category
  33.                         , 'publisher' : publisher
  34.                         , 'language'  : language
  35.                         }
  36.  
  37.     keep_only_tags    = [dict(attrs={'class':['cabecera_noticia estirar','cabecera_noticia','','contenido_noticia']})]
  38.     remove_tags       = [
  39.                            dict(name=['meta','link','base','iframe','embed','object'])
  40.                           ,dict(attrs={'class':['info_complementa','estructura_2col_der','votos estirar','votos']})
  41.                           ,dict(attrs={'id':'utilidades'})
  42.                         ]
  43.     remove_tags_after = dict(attrs={'id':'utilidades'})
  44.     remove_attributes = ['lang','border','width','height']
  45.  
  46.     feeds = [
  47.               (u'Lo ultimo'            , u'http://www.elpais.com/rss/feed.html?feedId=17046')
  48.              ,(u'America Latina'       , u'http://www.elpais.com/rss/feed.html?feedId=17041')
  49.              ,(u'Mexico'               , u'http://www.elpais.com/rss/feed.html?feedId=17042')
  50.              ,(u'Europa'               , u'http://www.elpais.com/rss/feed.html?feedId=17043')
  51.              ,(u'Estados Unidos'       , u'http://www.elpais.com/rss/feed.html?feedId=17044')
  52.              ,(u'Oriente proximo'      , u'http://www.elpais.com/rss/feed.html?feedId=17045')
  53.              ,(u'Espana'               , u'http://www.elpais.com/rss/feed.html?feedId=1002' )
  54.              ,(u'Andalucia'            , u'http://www.elpais.com/rss/feed.html?feedId=17057')
  55.              ,(u'Catalunia'            , u'http://www.elpais.com/rss/feed.html?feedId=17059')
  56.              ,(u'Comunidad Valenciana' , u'http://www.elpais.com/rss/feed.html?feedId=17061')
  57.              ,(u'Madrid'               , u'http://www.elpais.com/rss/feed.html?feedId=1016' )
  58.              ,(u'Pais Vasco'           , u'http://www.elpais.com/rss/feed.html?feedId=17062')
  59.              ,(u'Galicia'              , u'http://www.elpais.com/rss/feed.html?feedId=17063')
  60.              ,(u'Opinion'              , u'http://www.elpais.com/rss/feed.html?feedId=1003' )
  61.              ,(u'Sociedad'             , u'http://www.elpais.com/rss/feed.html?feedId=1004' )
  62.              ,(u'Deportes'             , u'http://www.elpais.com/rss/feed.html?feedId=1007' )
  63.              ,(u'Cultura'              , u'http://www.elpais.com/rss/feed.html?feedId=1008' )
  64.              ,(u'Cine'                 , u'http://www.elpais.com/rss/feed.html?feedId=17052')
  65.              ,(u'Literatura'           , u'http://www.elpais.com/rss/feed.html?feedId=17053')
  66.              ,(u'Musica'               , u'http://www.elpais.com/rss/feed.html?feedId=17051')
  67.              ,(u'Arte'                 , u'http://www.elpais.com/rss/feed.html?feedId=17060')
  68.              ,(u'Tecnologia'           , u'http://www.elpais.com/rss/feed.html?feedId=1005' )
  69.              ,(u'Economia'             , u'http://www.elpais.com/rss/feed.html?feedId=1006' )
  70.              ,(u'Ciencia'              , u'http://www.elpais.com/rss/feed.html?feedId=17068')
  71.              ,(u'Salud'                , u'http://www.elpais.com/rss/feed.html?feedId=17074')
  72.              ,(u'Ocio'                 , u'http://www.elpais.com/rss/feed.html?feedId=17075')
  73.              ,(u'Justicia y Leyes'     , u'http://www.elpais.com/rss/feed.html?feedId=17069')
  74.              ,(u'Guerras y conflictos' , u'http://www.elpais.com/rss/feed.html?feedId=17070')
  75.              ,(u'Politica'             , u'http://www.elpais.com/rss/feed.html?feedId=17073')
  76.             ]
  77.  
  78.     def print_version(self, url):
  79.         return url + '?print=1'
  80.  
  81.     def preprocess_html(self, soup):
  82.         for item in soup.findAll(style=True):
  83.             del item['style']
  84.         for item in soup.findAll('a'):
  85.             if item.string is not None:
  86.                tstr = item.string
  87.                item.replaceWith(tstr)
  88.             else:
  89.                item.name='span'
  90.                for atrs in ['href','target','alt','title']:
  91.                    if item.has_key(atrs):
  92.                       del item[atrs]
  93.         for item in soup.findAll('img',alt=False):
  94.             item['alt'] = 'image'
  95.         return soup
  96.