From 653afdd0864db3b96c1acef643cfa2558d32d9e3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Tue, 28 Jan 2020 19:34:35 +0100 Subject: [PATCH] RSS: Show a meaningful error in case '@rss' is called with a non-URL/name. Instead of letting feedparser try to parse the name. --- plugins/RSS/plugin.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/RSS/plugin.py b/plugins/RSS/plugin.py index 5310f590b..dbdc6b49a 100644 --- a/plugins/RSS/plugin.py +++ b/plugins/RSS/plugin.py @@ -99,9 +99,9 @@ class Feed: plugin_is_loading=False, announced=None): assert name, name if not url: - if not utils.web.httpUrlRe.match(name): - raise InvalidFeedUrl(name) url = name + if not utils.web.httpUrlRe.match(url): + raise InvalidFeedUrl(url) self.name = name self.url = url self.initial = initial @@ -560,9 +560,12 @@ class RSS(callbacks.Plugin): If is given, return only that many headlines. """ self.log.debug('Fetching %u', url) - feed = self.get_feed(url) - if not feed: - feed = Feed(url, url, True) + try: + feed = self.get_feed(url) + if not feed: + feed = Feed(url, url, True) + except InvalidFeedUrl: + irc.error('%s is not a valid feed URL or name.' % url, Raise=True) channel = msg.channel self.update_feed_if_needed(feed) entries = feed.entries