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

  1. #!/usr/bin/env  python
  2. __license__     = 'GPL v3'
  3. __copyright__   = '4 February 2011, desUBIKado'
  4. __author__      = 'desUBIKado'
  5. __version__     = 'v0.05'
  6. __date__        = '13, April 2011'
  7. '''
  8. http://www.weblogssl.com/
  9. '''
  10.  
  11. import re
  12. from calibre.web.feeds.news import BasicNewsRecipe
  13.  
  14. class weblogssl(BasicNewsRecipe):
  15.     __author__     = 'desUBIKado'
  16.     description    = u'Weblogs colectivos dedicados a seguir la actualidad sobre tecnologia, entretenimiento, estilos de vida, motor, deportes y economia.'
  17.     title          = u'Weblogs SL (Xataka, Genbeta, VidaExtra, Blog de Cine y otros)'
  18.     publisher      = 'Weblogs SL'
  19.     category       = 'Gadgets, Tech news, Product reviews, mobiles, science, cinema, entertainment, culture, tv, food, recipes, life style, motor, F1, sports, economy'
  20.     language       = 'es'
  21.     timefmt        = '[%a, %d %b, %Y]'
  22.     oldest_article = 1
  23.     max_articles_per_feed = 100
  24.     encoding       = 'utf-8'
  25.     use_embedded_content  = False
  26.     remove_empty_feeds    = True
  27.     remove_javascript = True
  28.     no_stylesheets = True
  29.  
  30.     # Si no se quiere recuperar todos los blogs se puede suprimir la descarga del que se desee poniendo
  31.     # un caracter # por delante, es decir,  # ,(u'Applesfera', u'http://feeds.weblogssl.com/applesfera')
  32.     # har├¡a que no se descargase Applesfera.
  33.  
  34.     feeds              = [
  35.                           (u'Xataka', u'http://feeds.weblogssl.com/xataka2')
  36.                           ,(u'Xataka M\xf3vil', u'http://feeds.weblogssl.com/xatakamovil')
  37.                           ,(u'Xataka Android', u'http://feeds.weblogssl.com/xatakandroid')
  38.                           ,(u'Xataka Foto', u'http://feeds.weblogssl.com/xatakafoto')
  39.                           ,(u'Xataka ON', u'http://feeds.weblogssl.com/xatakaon')
  40.                           ,(u'Xataka Ciencia', u'http://feeds.weblogssl.com/xatakaciencia')
  41.                           ,(u'Genbeta', u'http://feeds.weblogssl.com/genbeta')
  42.                           ,(u'Genbeta Dev', u'http://feeds.weblogssl.com/genbetadev')
  43.                           ,(u'Applesfera', u'http://feeds.weblogssl.com/applesfera')
  44.                           ,(u'Vida Extra', u'http://feeds.weblogssl.com/vidaextra')
  45.                           ,(u'Naci\xf3n Red', u'http://feeds.weblogssl.com/nacionred')
  46.                           ,(u'Blog de Cine', u'http://feeds.weblogssl.com/blogdecine')
  47.                           ,(u'Vaya tele', u'http://feeds.weblogssl.com/vayatele2')
  48.                           ,(u'Hipers\xf3nica', u'http://feeds.weblogssl.com/hipersonica')
  49.                           ,(u'Diario del viajero', u'http://feeds.weblogssl.com/diariodelviajero')
  50.                           ,(u'Papel en blanco', u'http://feeds.weblogssl.com/papelenblanco')
  51.                           ,(u'Pop rosa', u'http://feeds.weblogssl.com/poprosa')
  52.                           ,(u'Zona FandoM', u'http://feeds.weblogssl.com/zonafandom')
  53.                           ,(u'Fandemia', u'http://feeds.weblogssl.com/fandemia')
  54.                           ,(u'Noctamina', u'http://feeds.weblogssl.com/noctamina')
  55.                           ,(u'Tendencias', u'http://feeds.weblogssl.com/trendencias')
  56.                           ,(u'Beb\xe9s y m\xe1s', u'http://feeds.weblogssl.com/bebesymas')
  57.                           ,(u'Directo al paladar', u'http://feeds.weblogssl.com/directoalpaladar')
  58.                           ,(u'Compradicci\xf3n', u'http://feeds.weblogssl.com/compradiccion')
  59.                           ,(u'Decoesfera', u'http://feeds.weblogssl.com/decoesfera')
  60.                           ,(u'Embelezzia', u'http://feeds.weblogssl.com/embelezzia')
  61.                           ,(u'Vit\xf3nica', u'http://feeds.weblogssl.com/vitonica')
  62.                           ,(u'Ambiente G', u'http://feeds.weblogssl.com/ambienteg')
  63.                           ,(u'Arrebatadora', u'http://feeds.weblogssl.com/arrebatadora')
  64.                           ,(u'Mensencia', u'http://feeds.weblogssl.com/mensencia')
  65.                           ,(u'Peques y m\xe1s', u'http://feeds.weblogssl.com/pequesymas')
  66.                           ,(u'Motorpasi\xf3n', u'http://feeds.weblogssl.com/motorpasion')
  67.                           ,(u'Motorpasi\xf3n F1', u'http://feeds.weblogssl.com/motorpasionf1')
  68.                           ,(u'Motorpasi\xf3n Moto', u'http://feeds.weblogssl.com/motorpasionmoto')
  69.                           ,(u'Motorpasi\xf3n Futuro', u'http://feeds.weblogssl.com/motorpasionfuturo')
  70.                           ,(u'Notas de futbol', u'http://feeds.weblogssl.com/notasdefutbol')
  71.                           ,(u'Fuera de l\xedmites', u'http://feeds.weblogssl.com/fueradelimites')
  72.                           ,(u'Salir a ganar', u'http://feeds.weblogssl.com/saliraganar')
  73.                           ,(u'El blog salm\xf3n', u'http://feeds.weblogssl.com/elblogsalmon2')
  74.                           ,(u'Pymes y aut\xf3nomos', u'http://feeds.weblogssl.com/pymesyautonomos')
  75.                           ,(u'Tecnolog\xeda Pyme', u'http://feeds.weblogssl.com/tecnologiapyme')
  76.                           ,(u'Ahorro diario', u'http://feeds.weblogssl.com/ahorrodiario')
  77.                          ]
  78.  
  79.  
  80.     keep_only_tags     = [dict(name='div', attrs={'id':'infoblock'}),
  81.                           dict(name='div', attrs={'class':'post'}),
  82.                           dict(name='div', attrs={'id':'blog-comments'})
  83.                          ]
  84.  
  85.     remove_tags        = [dict(name='div', attrs={'id':'comment-nav'})]
  86.  
  87.     def print_version(self, url):
  88.           return url.replace('http://www.', 'http://m.')
  89.  
  90.     preprocess_regexps = [
  91.                             # Para poner una linea en blanco entre un comentario y el siguiente
  92.                            (re.compile(r'<li id="c', re.DOTALL|re.IGNORECASE), lambda match: '<br><br><li id="c')
  93.                          ]
  94.  
  95.     # Para sustituir el video incrustado de YouTube por una imagen
  96.  
  97.     def preprocess_html(self, soup):
  98.         for video_yt in soup.findAll('iframe',{'title':'YouTube video player'}):
  99.             if video_yt:
  100.                video_yt.name = 'img'
  101.                fuente = video_yt['src']
  102.                fuente2 = fuente.replace('http://www.youtube.com/embed/','http://img.youtube.com/vi/')
  103.                fuente3 = fuente2.replace('?rel=0','')
  104.                video_yt['src'] = fuente3 + '/0.jpg'
  105.  
  106.         return soup
  107.  
  108.