Commit 933fd7be authored by Cool Fire's avatar Cool Fire

Update buffering strategy for redhat security feed.

parent 24926372
Pipeline #573 failed with stages
in 6 minutes and 9 seconds
...@@ -25,7 +25,6 @@ class Redhatsecurity ...@@ -25,7 +25,6 @@ class Redhatsecurity
# Default action for this plugin # Default action for this plugin
def main( nick, user, host, from, msg, arguments, con ) def main( nick, user, host, from, msg, arguments, con )
end end
# Method to be called when the plugin is unloaded # Method to be called when the plugin is unloaded
...@@ -45,28 +44,30 @@ class Redhatsecurity ...@@ -45,28 +44,30 @@ class Redhatsecurity
# Grab rss # Grab rss
xml = agent.get( @feed_url ).body xml = agent.get( @feed_url ).body
xml = Nokogiri::XML( xml ) xml = Nokogiri::XML( xml )
# Parse out info # Parse out info
items = xms.css('item')
title = xml.css( 'item title' ).last.text title = xml.css( 'item title' ).last.text
link = xml.css( 'item link' ).last.text link = xml.css( 'item link' ).last.text
# Check for already announced stuff # Check for already announced stuff
if @recent.include? link if @recent.include? link
raise 'Stale RSS feed link' @recent.delete link
else else
@recent.push link # If the tinyurl plugin is loaded, use it
if @recent.size > 10 if( @status.checkplugin( "tinyurl" ) )
@recent = @recent [1..10] plugin = @status.getplugin( "tinyurl" )
link = plugin.main( nil, nil, nil, nil, nil, link, false )
end end
end
# If the tinyurl plugin is loaded, use it @irc.message( @channel, "\x02\x034,1Red\x0f\x030,1hat\x0f #{title} | #{link}" )
if( @status.checkplugin( "tinyurl" ) ) @irc.message( @channel, " " )
plugin = @status.getplugin( "tinyurl" )
link = plugin.main( nil, nil, nil, nil, nil, link, false )
end end
@recent.push link
# Trim buffer
@recent.shift(@recent.length - 50) if @recent.length > 50
@irc.message( @channel, "\x02\x034,1Red\x0f\x030,1hat\x0f #{title} | #{link}" )
@irc.message( @channel, " " )
rescue Exception => e rescue Exception => e
# Silently fail # Silently fail
@output.debug( "Failure while retrieving rss feed: #{e.message}\n" ) @output.debug( "Failure while retrieving rss feed: #{e.message}\n" )
...@@ -76,4 +77,4 @@ class Redhatsecurity ...@@ -76,4 +77,4 @@ class Redhatsecurity
sleep( @feed_timer ) sleep( @feed_timer )
end end
end end
end end
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment