52 lines
2.0 KiB
Diff
52 lines
2.0 KiB
Diff
|
From: Martin Pitt <mpitt@debian.org>
|
||
|
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)
|