From bf5867e3806a5e9bc29b803aa3bde5cc93a6d4db Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 31 Jul 2017 19:57:00 +0530 Subject: [PATCH] Fix non XML safe characters in feed descriptions causing news download to fail. Fixes #1707545 [News Resource download not working..National Review Online](https://bugs.launchpad.net/calibre/+bug/1707545) --- src/calibre/web/feeds/templates.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/calibre/web/feeds/templates.py b/src/calibre/web/feeds/templates.py index 59ba62cb23..3ed689fe59 100644 --- a/src/calibre/web/feeds/templates.py +++ b/src/calibre/web/feeds/templates.py @@ -164,7 +164,7 @@ class FeedTemplate(Template): ), CLASS('calibre_feed_image'))) if getattr(feed, 'description', None): - d = DIV(feed.description, CLASS('calibre_feed_description', + d = DIV(clean_xml_chars(feed.description), CLASS('calibre_feed_description', 'calibre_rescale_80')) d.append(BR()) div.append(d) @@ -284,6 +284,7 @@ class TouchscreenIndexTemplate(Template): class TouchscreenFeedTemplate(Template): def _generate(self, f, feeds, cutoff, extra_css=None, style=None): + from calibre.utils.cleantext import clean_xml_chars def trim_title(title,clip=18): if len(title)>clip: @@ -353,7 +354,7 @@ class TouchscreenFeedTemplate(Template): ), CLASS('calibre_feed_image'))) if getattr(feed, 'description', None): - d = DIV(feed.description, CLASS('calibre_feed_description', + d = DIV(clean_xml_chars(feed.description), CLASS('calibre_feed_description', 'calibre_rescale_80')) d.append(BR()) div.append(d)