diff --git a/plugins/RSS/config.py b/plugins/RSS/config.py index e4754375b..7029f5448 100644 --- a/plugins/RSS/config.py +++ b/plugins/RSS/config.py @@ -72,6 +72,12 @@ conf.registerChannelValue(RSS, 'showLinks', along with the title of the feed when the rss command is called. supybot.plugins.RSS.announce.showLinks affects whether links will be listed when a feed is automatically announced."""))) +conf.registerGlobalValue(RSS, 'defaultNumberOfHeadlines', + registry.PositiveInteger(1, """Indicates how many headlines an rss feed + will output by default, if no number is provided.""")) +conf.registerChannelValue(RSS, 'initialAnnounceHeadlines', + registry.PositiveInteger(5, """Indicates how many headlines an rss feed + will output when it is first added to announce for a channel.""")) conf.registerGroup(RSS, 'announce') conf.registerChannelValue(RSS.announce, 'showLinks', diff --git a/plugins/RSS/plugin.py b/plugins/RSS/plugin.py index eb0c7af11..e11e23dbb 100644 --- a/plugins/RSS/plugin.py +++ b/plugins/RSS/plugin.py @@ -185,6 +185,8 @@ class RSS(callbacks.Plugin): newheadlines = filter(None, newheadlines) # Removes Nones. if newheadlines: for channel in channels: + if len(oldheadlines) == 0: + newheadlines = newheadlines[:self.registryValue('initialAnnounceHeadlines', channel)] bold = self.registryValue('bold', channel) sep = self.registryValue('headlineSeparator', channel) prefix = self.registryValue('announcementPrefix', channel) @@ -405,6 +407,8 @@ class RSS(callbacks.Plugin): headlines = self.buildHeadlines(headlines, channel, 'showLinks') if n: headlines = headlines[:n] + else: + headlines = headlines[:self.registryValue('defaultNumberOfHeadlines')] sep = self.registryValue('headlineSeparator', channel) if self.registryValue('bold', channel): sep = ircutils.bold(sep)