summaryrefslogtreecommitdiff
path: root/data/rbot
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-02-06 15:08:25 +0000
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-02-06 15:08:25 +0000
commit059f917a709673d1d88f7056b45e86916de29ad4 (patch)
treec8e88dfb8611cf0132d36065fcbd9ae935eb6846 /data/rbot
parent64689811ca5ee4e190d1837463675c68f9a094ff (diff)
Move code to find and ircify first par from search plugin to utils
Diffstat (limited to 'data/rbot')
-rw-r--r--data/rbot/plugins/search.rb33
1 files changed, 5 insertions, 28 deletions
diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb
index 6fb1959a..e94661b0 100644
--- a/data/rbot/plugins/search.rb
+++ b/data/rbot/plugins/search.rb
@@ -82,37 +82,14 @@ class SearchPlugin < Plugin
debug "Unable to retrieve #{url}"
next
end
- # We get the first par after the first main heading, if possible
- header_found = xml.match(/<h1(?:\s+[^>]*)?>(.*?)<\/h1>/im)
- txt = String.new
- if header_found
- debug "Found header: #{header_found[1].inspect}"
- while txt.empty?
- header_found = $'
- candidate = header_found[/<p(?:\s+[^>]*)?>.*?<\/p>/im]
- break unless candidate
- txt.replace candidate.ircify_html
- end
- end
- # If we haven't found a first par yet, try to get it from the whole
- # document
- if txt.empty?
- header_found = xml
- while txt.empty?
- candidate = header_found[/<p(?:\s+[^>]*)?>.*?<\/p>/im]
- break unless candidate
- txt.replace candidate.ircify_html
- header_found = $'
- end
- end
- # Nothing yet, try title
- if txt.empty?
+ par = Utils.ircify_first_html_par(xml)
+ if par.empty?
debug "No first par found\n#{xml}"
# FIXME only do this if the 'url' plugin is loaded
- txt.replace @bot.plugins['url'].get_title_from_html(xml)
- next if txt.empty?
+ par = @bot.plugins['url'].get_title_from_html(xml)
+ next if par.empty?
end
- m.reply "[#{idx}] #{txt}", :overlong => :truncate
+ m.reply "[#{idx}] #{par}", :overlong => :truncate
first_pars -=1
end
end