home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_3724 < prev    next >
Encoding:
Text File  |  2009-10-14  |  3.2 KB  |  73 lines

  1. #!/usr/bin/env  python
  2.  
  3. __license__   = 'GPL v3'
  4. __copyright__ = '2008, Darko Miletic <darko.miletic at gmail.com>'
  5. '''
  6. cronista.com
  7. '''
  8.  
  9. from calibre.web.feeds.news import BasicNewsRecipe
  10.  
  11. class ElCronista(BasicNewsRecipe):
  12.     title                 = 'El Cronista'
  13.     __author__            = 'Darko Miletic'
  14.     description           = 'Noticias de Argentina'
  15.     oldest_article        = 2
  16.     language = 'es'
  17.  
  18.     max_articles_per_feed = 100
  19.     no_stylesheets        = True
  20.     use_embedded_content  = False
  21.     encoding              = 'cp1252'
  22.  
  23.     html2lrf_options = [
  24.                           '--comment'       , description
  25.                         , '--category'      , 'news, Argentina'
  26.                         , '--publisher'     , title
  27.                         ]
  28.     
  29.     keep_only_tags = [
  30.                         dict(name='table', attrs={'width':'100%'             })
  31.                        ,dict(name='h1'   , attrs={'class':'Arialgris16normal'})
  32.                      ]
  33.  
  34.     remove_tags = [dict(name='a', attrs={'class':'Arialazul12'})]
  35.                      
  36.     feeds = [
  37.                (u'Economia'                , u'http://www.cronista.com/adjuntos/8/rss/Economia_EI.xml'             )
  38.               ,(u'Negocios'                , u'http://www.cronista.com/adjuntos/8/rss/negocios_EI.xml'             )
  39.               ,(u'Ultimo momento'          , u'http://www.cronista.com/adjuntos/8/rss/ultimo_momento.xml'          )
  40.               ,(u'Finanzas y Mercados'     , u'http://www.cronista.com/adjuntos/8/rss/Finanzas_Mercados_EI.xml'    )
  41.               ,(u'Financial Times'         , u'http://www.cronista.com/adjuntos/8/rss/FT_EI.xml'                   )
  42.               ,(u'Opinion edicion impresa' , u'http://www.cronista.com/adjuntos/8/rss/opinion_edicion_impresa.xml' )
  43.               ,(u'Socialmente Responsables', u'http://www.cronista.com/adjuntos/8/rss/Socialmente_Responsables.xml')
  44.               ,(u'Asuntos Legales'         , u'http://www.cronista.com/adjuntos/8/rss/asuntoslegales.xml'          )
  45.               ,(u'IT Business'             , u'http://www.cronista.com/adjuntos/8/rss/itbusiness.xml'              )
  46.               ,(u'Management y RR.HH.'     , u'http://www.cronista.com/adjuntos/8/rss/management.xml'              )
  47.               ,(u'Inversiones Personales'  , u'http://www.cronista.com/adjuntos/8/rss/inversionespersonales.xml'   )
  48.             ]
  49.  
  50.     def print_version(self, url):
  51.         main, sep, rest = url.partition('.com/notas/')
  52.         article_id, lsep, rrest = rest.partition('-')
  53.         return 'http://www.cronista.com/interior/index.php?p=imprimir_nota&idNota=' + article_id
  54.  
  55.     def preprocess_html(self, soup):
  56.         mtag = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'
  57.         soup.head.insert(0,mtag)
  58.         soup.head.base.extract()
  59.         htext = soup.find('h1',attrs={'class':'Arialgris16normal'})
  60.         htext.name = 'p'
  61.         soup.prettify()
  62.         return soup
  63.  
  64.     def get_cover_url(self):
  65.         cover_url = None
  66.         index = 'http://www.cronista.com/contenidos/'
  67.         soup = self.index_to_soup(index + 'ee.html')
  68.         link_item = soup.find('a',attrs={'href':"javascript:Close()"})
  69.         if link_item:
  70.            cover_url = index + link_item.img['src']
  71.         return cover_url
  72.         
  73.