X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Fslashdot.rb;h=c9e35b9e9592badde10fe4689aa9765e17c55add;hb=71f81ee086db58b94b69d3e4082cbadec1b7c245;hp=1a70de08c4ceb8091a1c6e4b8ee1a19384b3ab70;hpb=676dd61e6b0bea5f506d064039a685944aefd6fb;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/slashdot.rb b/data/rbot/plugins/slashdot.rb index 1a70de08..c9e35b9e 100644 --- a/data/rbot/plugins/slashdot.rb +++ b/data/rbot/plugins/slashdot.rb @@ -1,5 +1,4 @@ require 'rexml/document' -require 'uri/common' class SlashdotPlugin < Plugin include REXML @@ -8,24 +7,19 @@ class SlashdotPlugin < Plugin end def search_slashdot(m, params) - max = params[:limit].to_i - search = params[:search].to_s + max = params[:limit].to_i + search = params[:search].to_s - begin - xml = @bot.httputil.get(URI.parse("http://slashdot.org/search.pl?content_type=rss&query=#{URI.escape(search)}")) - rescue URI::InvalidURIError, URI::BadURIError => e - m.reply "illegal search string #{search}" - return - end + xml = @bot.httputil.get("http://slashdot.org/search.pl?content_type=rss&query=#{CGI.escape(search)}") unless xml m.reply "search for #{search} failed" return end - puts xml.inspect + debug xml.inspect begin doc = Document.new xml rescue REXML::ParseException => e - puts e + warning e.inspect m.reply "couldn't parse output XML: #{e.class}" return end @@ -33,13 +27,13 @@ class SlashdotPlugin < Plugin m.reply "search for #{search} failed" return end - puts doc.inspect + debug doc.inspect max = 8 if max > 8 done = 0 doc.elements.each("*/item") {|e| desc = e.elements["title"].text desc.gsub!(/(.{150}).*/, '\1..') - reply = sprintf("%s | %s", e.elements["link"].text, desc) + reply = sprintf("%s | %s", e.elements["link"].text, desc.ircify_html) m.reply reply done += 1 break if done >= max @@ -50,10 +44,10 @@ class SlashdotPlugin < Plugin end def slashdot(m, params) - puts params.inspect + debug params.inspect max = params[:limit].to_i - puts "max is #{max}" - xml = @bot.httputil.get(URI.parse("http://slashdot.org/slashdot.xml")) + debug "max is #{max}" + xml = @bot.httputil.get('http://slashdot.org/slashdot.xml') unless xml m.reply "slashdot news parse failed" return