From: Martin Pitt Date: Mon, 14 Nov 2016 22:41:23 +0100 Subject: Use packaged instead of bundled feedparser Python module --- recipes/lenta_ru.recipe | 4 +++- src/calibre/web/feeds/__init__.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/lenta_ru.recipe b/recipes/lenta_ru.recipe index aa4dac4..4b6710c 100644 --- a/recipes/lenta_ru.recipe +++ b/recipes/lenta_ru.recipe @@ -4,11 +4,13 @@ Lenta.ru ''' -from calibre.web.feeds.feedparser import parse from calibre.ebooks.BeautifulSoup import Tag from calibre.web.feeds.news import BasicNewsRecipe +from feedparser import parse +from functools import partial import re +parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11') class LentaRURecipe(BasicNewsRecipe): title = u'Lenta.ru: \u041d\u043e\u0432\u043e\u0441\u0442\u0438' diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py index 8c9d748..f262604 100644 --- a/src/calibre/web/feeds/__init__.py +++ b/src/calibre/web/feeds/__init__.py @@ -11,7 +11,10 @@ from calibre.utils.logging import default_log from calibre import entity_to_unicode, strftime, force_unicode from calibre.utils.date import dt_factory, utcnow, local_tz from calibre.utils.cleantext import clean_ascii_chars, clean_xml_chars +from feedparser import parse +from functools import partial +parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11') class Article(object): @@ -334,7 +337,6 @@ def feed_from_xml(raw_xml, title=None, oldest_article=7, max_articles_per_feed=100, get_article_url=lambda item: item.get('link', None), log=default_log): - from calibre.web.feeds.feedparser import parse # Handle unclosed escaped entities. They trip up feedparser and HBR for one # generates them raw_xml = re.sub(r'(&#\d+)([^0-9;])', r'\1;\2', raw_xml)