calibre/recipes/al_jazeera.recipe
Rogelio Domínguez Hernández 78efc02b01
Update "Al Jazeera in English"
"Al Jazeera in English" is broken currently, it only retrieves titles but no content. So I updated the recipe so content is preserved.
2018-12-10 16:14:10 -06:00

59 lines
1.6 KiB
Plaintext

__license__ = 'GPL v3'
__copyright__ = '2009-2010, Darko Miletic <darko.miletic at gmail.com>'
'''
english.aljazeera.net
'''
from calibre.web.feeds.news import BasicNewsRecipe
def has_cls(x):
return dict(attrs={'class': lambda cls: cls and x in cls.split()})
class AlJazeera(BasicNewsRecipe):
title = 'Al Jazeera in English'
__author__ = 'Darko Miletic'
description = 'News from Middle East'
language = 'en'
publisher = 'Al Jazeera'
category = 'news, politics, middle east'
delay = 1
oldest_article = 2
max_articles_per_feed = 100
no_stylesheets = True
use_embedded_content = False
extra_css = """
body{font-family: Arial,sans-serif}
"""
conversion_options = {
'comment': description, 'tags': category,
'publisher': publisher, 'language': language
}
keep_only_tags = [
dict(id='article-page'),
]
remove_tags = [
dict(name=['object', 'link', 'table',
'meta', 'base', 'iframe', 'embed']),
]
feeds = [(u'Al Jazeera English',
u'http://www.aljazeera.com/xml/rss/all.xml')]
def get_article_url(self, article):
artlurl = article.get('link', None)
return artlurl
def preprocess_html(self, soup):
for item in soup.findAll(style=True):
del item['style']
for item in soup.findAll(face=True):
del item['face']
for alink in soup.findAll('a'):
if alink.string is not None:
tstr = alink.string
alink.replaceWith(tstr)
return soup