home *** CD-ROM | disk | FTP | other *** search
- __license__ = 'GPL v3'
- __copyright__ = '2010, Darko Miletic <darko.miletic at gmail.com>, Rogelio Domínguez <rogelio.dominguez@gmail.com>'
- '''
- www.jornada.unam.mx
- '''
-
- import re
- from calibre import strftime
- from calibre.web.feeds.news import BasicNewsRecipe
-
- class LaJornada_mx(BasicNewsRecipe):
- title = 'La Jornada (Mexico)'
- __author__ = 'Darko Miletic/Rogelio Domínguez'
- description = 'Noticias del diario mexicano La Jornada'
- publisher = 'DEMOS, Desarrollo de Medios, S.A. de C.V.'
- category = 'news, Mexico'
- oldest_article = 2
- max_articles_per_feed = 200
- no_stylesheets = True
- encoding = 'utf8'
- use_embedded_content = False
- language = 'es_MX'
- remove_empty_feeds = True
- cover_url = strftime("http://www.jornada.unam.mx/%Y/%m/%d/portada.pdf")
- masthead_url = 'http://www.jornada.unam.mx/v7.0/imagenes/la-jornada-trans.png'
- publication_type = 'newspaper'
- extra_css = """
- body{font-family: "Times New Roman",serif }
- .cabeza{font-size: xx-large; font-weight: bold }
- .documentFirstHeading{font-size: xx-large; font-weight: bold }
- .credito-articulo{font-variant: small-caps; font-weight: bold }
- .foto{text-align: center}
- .pie-foto{font-size: 0.9em}
- .credito{font-weight: bold; margin-left: 1em}
- .credito-autor{font-variant: small-caps; font-weight: bold }
- .credito-titulo{text-align: right}
- .hemero{text-align: right; font-size: 0.9em; margin-bottom: 0.5em }
- .loc{font-weight: bold}
- .carton{text-align: center}
- .credit{font-weight: bold}
- .sumario{font-weight: bold; text-align: center}
- .text{margin-top: 1.4em}
- p.inicial{display: inline; font-size: xx-large; font-weight: bold}
- p.s-s{display: inline; text-indent: 0}
- """
-
- conversion_options = {
- 'comment' : description
- , 'tags' : category
- , 'publisher' : publisher
- , 'language' : language
- }
-
- preprocess_regexps = [
- (re.compile( r'<div class="inicial">(.*)</div><p class="s-s">'
- ,re.DOTALL|re.IGNORECASE)
- ,lambda match: '<p class="inicial">' + match.group(1) + '</p><p class="s-s">')
- ]
-
- keep_only_tags = [
- dict(name='div', attrs={'class':['documentContent','cabeza','sumarios','credito-articulo','text','carton']})
- ,dict(name='div', attrs={'id':'renderComments'})
- ]
- remove_tags = [dict(name='div', attrs={'class':['buttonbar','comment-cont']})]
-
- feeds = [
- (u'Opinion' , u'http://www.jornada.unam.mx/rss/opinion.xml' )
- ,(u'Cartones' , u'http://www.jornada.unam.mx/rss/cartones.xml' )
- ,(u'Politica' , u'http://www.jornada.unam.mx/rss/politica.xml' )
- ,(u'Economia' , u'http://www.jornada.unam.mx/rss/economia.xml' )
- ,(u'Mundo' , u'http://www.jornada.unam.mx/rss/mundo.xml' )
- ,(u'Estados' , u'http://www.jornada.unam.mx/rss/estados.xml' )
- ,(u'Capital' , u'http://www.jornada.unam.mx/rss/capital.xml' )
- ,(u'Sociedad y justicia' , u'http://www.jornada.unam.mx/rss/sociedad.xml' )
- ,(u'Ciencias' , u'http://www.jornada.unam.mx/rss/ciencias.xml' )
- ,(u'Cultura' , u'http://www.jornada.unam.mx/rss/cultura.xml' )
- ,(u'Gastronomia' , u'http://www.jornada.unam.mx/rss/gastronomia.xml' )
- ,(u'Espectaculos' , u'http://www.jornada.unam.mx/rss/espectaculos.xml' )
- ,(u'Deportes' , u'http://www.jornada.unam.mx/rss/deportes.xml' )
- ,(u'Ultimas noticias' , u'http://www.jornada.unam.mx/ultimas/news/RSS' )
- ]
-
- def preprocess_html(self, soup):
- for item in soup.findAll(style=True):
- del item['style']
- return soup
-
- def get_article_url(self, article):
- rurl = article.get('link', None)
- return rurl.rpartition('&partner=')[0]
-
-