home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
-
- __license__ = 'GPL v3'
- __copyright__ = '30 October 2010, Jordi Balcells based on an earlier recipe by Darko Miletic <darko.miletic at gmail.com>'
- '''
- elperiodico.cat
- '''
-
- from calibre.web.feeds.news import BasicNewsRecipe
- from calibre.ebooks.BeautifulSoup import Tag
-
- class ElPeriodico_cat(BasicNewsRecipe):
- title = 'El Periodico de Catalunya'
- __author__ = 'Jordi Balcells/Darko Miletic'
- description = 'Noticies des de Catalunya'
- publisher = 'elperiodico.cat'
- category = 'news, politics, Spain, Catalunya'
- oldest_article = 2
- max_articles_per_feed = 100
- no_stylesheets = True
- use_embedded_content = False
- delay = 1
- encoding = 'cp1252'
- language = 'ca'
-
-
- html2lrf_options = [
- '--comment' , description
- , '--category' , category
- , '--publisher', publisher
- ]
-
- html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"'
-
- feeds = [(u'Portada', u'http://www.elperiodico.cat/ca/rss/rss_portada.xml'),
- (u'Internacional', u'http://www.elperiodico.cat/ca/rss/internacional/rss.xml'),
- (u'Societat', u'http://www.elperiodico.cat/ca/rss/societat/rss.xml'),
- (u'Ci\xe8ncia i tecnologia', u'http://www.elperiodico.cat/ca/rss/ciencia-i-tecnologia/rss.xml'),
- (u'Esports', u'http://www.elperiodico.cat/ca/rss/esports/rss.xml'),
- (u'Gent', u'http://www.elperiodico.cat/ca/rss/gent/rss.xml'),
- (u'Opini\xf3', u'http://www.elperiodico.cat/ca/rss/opinio/rss.xml'),
- (u'Pol\xedtica', u'http://www.elperiodico.cat/ca/rss/politica/rss.xml'),
- (u'Barcelona', u'http://www.elperiodico.cat/ca/rss/barcelona/rss.xml'),
- (u'Economia', u'http://www.elperiodico.cat/ca/rss/economia/rss.xml'),
- (u'Cultura i espectacles', u'http://www.elperiodico.cat/ca/rss/cultura-i-espectacles/rss.xml'),
- (u'Tele', u'http://www.elperiodico.cat/ca/rss/tele/rss.xml')]
-
-
- keep_only_tags = [dict(name='div', attrs={'class':'titularnoticia'}),
- dict(name='div', attrs={'class':'noticia_completa'})]
-
- remove_tags = [dict(name='div', attrs={'class':['opcionb','opcionb last','columna_noticia']}),
- dict(name='span', attrs={'class':'opcionesnoticia'})
- ]
-
- def print_version(self, url):
- return url.replace('/default.asp?','/print.asp?')
-
- def preprocess_html(self, soup):
- mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=utf-8")])
- soup.head.insert(0,mcharset)
- for item in soup.findAll(style=True):
- del item['style']
- return soup
-
-