summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-05-23 18:46:25 +0000
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-05-23 18:46:25 +0000
commitd8cc9bae30308fdaa767d2d4b9a070d1d5b6a2d5 (patch)
tree24c9c0065abcd0df21b55a74cf6f662de8c042be
parent5ad543d921116629dcfb9abc9bf25bdfbd53dbfd (diff)
search plugin: compactify results when only one of them is returned
-rw-r--r--data/rbot/plugins/search.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb
index e94d915b..da6881f4 100644
--- a/data/rbot/plugins/search.rb
+++ b/data/rbot/plugins/search.rb
@@ -64,6 +64,10 @@ class SearchPlugin < Plugin
hits = params[:hits] || @bot.config['google.hits']
+ first_pars = params[:firstpar] || @bot.config['google.first_par']
+
+ single = (hits == 1 and first_pars == 1)
+
begin
wml = @bot.httputil.get(url)
raise unless wml
@@ -82,12 +86,16 @@ class SearchPlugin < Plugin
t = Utils.decode_html_entities res[2].gsub(filter, '').strip
u = URI.unescape res[1]
urls.push(u)
- "#{n}. #{Bold}#{t}#{Bold}: #{u}"
+ single ? u : "#{n}. #{Bold}#{t}#{Bold}: #{u}"
}.join(" | ")
- m.reply "Results for #{what}: #{results}", :split_at => /\s+\|\s+/
+ # If we return a single, full result, change the output to a more compact representation
+ if single
+ m.reply "Result for %s: %s -- %s" % [what, results, Utils.get_first_pars(urls, first_pars)]
+ return
+ end
- first_pars = params[:firstpar] || @bot.config['google.first_par']
+ m.reply "Results for #{what}: #{results}", :split_at => /\s+\|\s+/
return unless first_pars > 0