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

  1. from calibre.web.feeds.news import BasicNewsRecipe
  2. from calibre.ebooks.BeautifulSoup import Tag
  3.  
  4. class LevanteRecipe(BasicNewsRecipe):
  5.     __license__   = 'GPL v3'
  6.     __author__ = 'kwetal'
  7.     version = 1
  8.     language = 'es'
  9.     description = u'El Mercantil Valenciano'
  10.     title = u'Levante'
  11.  
  12.     oldest_article = 2
  13.     max_articles_per_feed = 100
  14.     encoding = 'latin1'
  15.     no_stylesheets = True
  16.     remove_javascript = True
  17.  
  18.     # Feeds taken from http://www.levante-emv.com/servicios/rss/rss.jsp?pServicio=rss
  19.     # Feed titles are without accented characters for now. Hope to resolve this in the future.
  20.     feeds = []
  21.     feeds.append((u'Portada Valencia', u'http://www.levante-emv.com/elementosInt/rss/1'))
  22.     feeds.append((u'Portada Castello', u'http://www.levante-emv.com/elementosInt/rss/2'))
  23.     feeds.append((u'Portada Alacant', u'http://www.levante-emv.com/elementosInt/rss/3'))
  24.     feeds.append((u'Lo Mas Leido', u'http://www.levante-emv.com/elementosInt/rss/LoMas'))
  25.     feeds.append((u'Seccion al minuto', u'http://www.levante-emv.com/elementosInt/rss/AlMinuto'))
  26.     feeds.append((u'Comunidad Valenciana', u'http://www.levante-emv.com/elementosInt/rss/19'))
  27.     feeds.append((u'Valencia', u'http://www.levante-emv.com/elementosInt/rss/16'))
  28.     feeds.append((u'Castello', u'http://www.levante-emv.com/elementosInt/rss/4'))
  29.     feeds.append((u'Alacant', u'http://www.levante-emv.com/elementosInt/rss/17'))
  30.     feeds.append((u'Comarcas', u'http://www.levante-emv.com/elementosInt/rss/12'))
  31.     feeds.append((u'Espana', u'http://www.levante-emv.com/elementosInt/rss/6'))
  32.     feeds.append((u'Internacional', u'http://www.levante-emv.com/elementosInt/rss/7'))
  33.     feeds.append((u'Opinion', u'http://www.levante-emv.com/elementosInt/rss/5'))
  34.     feeds.append((u'Economia', u'http://www.levante-emv.com/elementosInt/rss/8'))
  35.     feeds.append((u'Sociedad', u'http://www.levante-emv.com/elementosInt/rss/9'))
  36.     feeds.append((u'Sucesos', u'http://www.levante-emv.com/elementosInt/rss/10'))
  37.     feeds.append((u'Deportes', u'http://www.levante-emv.com/elementosInt/rss/11'))
  38.     feeds.append((u'Motor', u'http://www.levante-emv.com/elementosInt/rss/31'))
  39.     feeds.append((u'Panorama', u'http://www.levante-emv.com/elementosInt/rss/18'))
  40.     feeds.append((u'Salud y Vida', u'http://www.levante-emv.com/elementosInt/rss/20'))
  41.     feeds.append((u'Ciencia y Salud', u'http://www.levante-emv.com/elementosInt/rss/44'))
  42.     feeds.append((u'Ciencia e Investigacion', u'http://www.levante-emv.com/elementosInt/rss/23'))
  43.     feeds.append((u'Ensenanza', u'http://www.levante-emv.com/elementosInt/rss/22'))
  44.     feeds.append((u'Fiestas y Tradiciones', u'http://www.levante-emv.com/elementosInt/rss/24'))
  45.     feeds.append((u'Club Diario', u'http://www.levante-emv.com/elementosInt/rss/26'))
  46.     feeds.append((u'Juntos', u'http://www.levante-emv.com/elementosInt/rss/33'))
  47.     feeds.append((u'Integrados', u'http://www.levante-emv.com/elementosInt/rss/35'))
  48.     feeds.append((u'Agenda', u'http://www.levante-emv.com/elementosInt/rss/36'))
  49.     feeds.append((u'Cultura', u'http://www.levante-emv.com/elementosInt/rss/39'))
  50.     feeds.append((u'Tecnologia', u'http://www.levante-emv.com/elementosInt/rss/40'))
  51.     feeds.append((u'Gente', u'http://www.levante-emv.com/elementosInt/rss/41'))
  52.     feeds.append((u'Television', u'http://www.levante-emv.com/elementosInt/rss/42'))
  53.     feeds.append((u'Participa', u'http://www.levante-emv.com/elementosInt/rss/45'))
  54.  
  55.     keep_only_tags = [dict(name='div', attrs={'class' : 'noticia_titular'}),
  56.                               dict(name='div', attrs={'class' : 'subtitulo'}),
  57.                               dict(name='div', attrs={'id' : 'noticia_texto', 'class' : 'noticia_texto'})]
  58.  
  59.     def preprocess_html(self, soup):
  60.         # Nuke some real crappy html
  61.         theirHead = soup.head
  62.         theirHead.extract()
  63.         myHead = Tag(soup, 'head')
  64.         soup.insert(0, myHead)
  65.  
  66.         return soup
  67.  
  68.  
  69.