]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
grouphug plugin: tweak regex so it captures confessions with newlines properly
authorCasey Link <unnamedrambler@gmail.com>
Fri, 20 Jun 2008 13:56:45 +0000 (09:56 -0400)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Fri, 20 Jun 2008 14:06:32 +0000 (16:06 +0200)
data/rbot/plugins/grouphug.rb

index 4e7eaf5d97dc3495aab68cf3488f4b4be35cb1ad..f08f57533829dfd3943615a2e881691dbf11870f 100644 (file)
@@ -10,6 +10,7 @@
 # License:: GPL v2
 
 class GrouphugPlugin < Plugin
+  REG  = Regexp.new('<div class="content">\s*<p>(.*?)</p>\s+</div>', Regexp::MULTILINE)
   def initialize
     super
     @confessions = Array.new
@@ -29,16 +30,14 @@ class GrouphugPlugin < Plugin
         opts.delete(:cache)
         data = @bot.httputil.get("http://grouphug.us/#{path}", opts)
 
-        reg = Regexp.new('<div class="content">.*?<p>(.*?)</p>', Regexp::MULTILINE)
-        res = data.scan(reg)
+        res = data.scan(REG)
         confession = res[0][0].ircify_html
         confession = "no confession ##{params[:num]} found" if confession.empty? and params[:num]
         m.reply confession
       else # Cache random confessions
         if @confessions.empty?
           data = @bot.httputil.get("http://grouphug.us/#{path}", opts)
-          reg = Regexp.new('<div class="content">.*?<p>(.*?)</p>', Regexp::MULTILINE)
-          res = data.scan(reg)
+          res = data.scan(REG)
           res.each do |quote|
             @confessions << quote[0].ircify_html
           end