]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/dict.rb
use pretty printing with Logger (debug, info, warning and error messages)
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / dict.rb
index 504a9d7beaadb8f0e5e09d53bff038c09de64a94..30cfc5feefb9eefba7259c667b7e6619a26d6a8e 100644 (file)
@@ -18,8 +18,6 @@
 #\r
 # TODO: cache results and reuse them if get_cached returns a cache copy\r
 \r
-require 'uri'\r
-\r
 DEMAURO_LEMMA = /<anchor>(.*?)(?: - (.*?))<go href="lemma.php\?ID=(\d+)"\/><\/anchor>/\r
 \r
 class DictPlugin < Plugin\r
@@ -56,10 +54,11 @@ class DictPlugin < Plugin
     justcheck = params[:justcheck]\r
 \r
     word = params[:word].downcase\r
-    url = @dmwapurl % URI.escape(word)\r
-    xml = @bot.httputil.get_cached(url)\r
+    url = @dmwapurl % CGI.escape(word)\r
+    xml = nil\r
+    info = @bot.httputil.get_response(url) rescue nil\r
+    xml = info.body if info\r
     if xml.nil?\r
-      info = @bot.httputil.last_response\r
       info = info ? " (#{info.code} - #{info.message})" : ""\r
       return false if justcheck\r
       m.reply "An error occurred while looking for #{word}#{info}"\r
@@ -107,8 +106,8 @@ class DictPlugin < Plugin
 \r
     word = params[:word].join\r
     [word, word + "_1"].each { |check|\r
-      url = @oxurl % URI.escape(check)\r
-      h = @bot.httputil.head(url)\r
+      url = @oxurl % CGI.escape(check)\r
+      h = @bot.httputil.head(url, :max_redir => 5)\r
       if h\r
         m.reply("#{word} found: #{url}") unless justcheck\r
         return true\r
@@ -127,11 +126,12 @@ class DictPlugin < Plugin
     justcheck = params[:justcheck]\r
 \r
     word = params[:word].to_s.downcase\r
-    url = @chambersurl % URI.escape(word)\r
-    xml = @bot.httputil.get_cached(url)\r
+    url = @chambersurl % CGI.escape(word)\r
+    xml = nil\r
+    info = @bot.httputil.get_response(url) rescue nil\r
+    xml = info.body if info\r
     case xml\r
     when nil\r
-      info = @bot.httputil.last_response\r
       info = info ? " (#{info.code} - #{info.message})" : ""\r
       return false if justcheck\r
       m.reply "An error occurred while looking for #{word}#{info}"\r