diff options
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2007-05-23 18:46:25 +0000 |
---|---|---|
committer | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2007-05-23 18:46:25 +0000 |
commit | d8cc9bae30308fdaa767d2d4b9a070d1d5b6a2d5 (patch) | |
tree | 24c9c0065abcd0df21b55a74cf6f662de8c042be /data | |
parent | 5ad543d921116629dcfb9abc9bf25bdfbd53dbfd (diff) |
search plugin: compactify results when only one of them is returned
Diffstat (limited to 'data')
-rw-r--r-- | data/rbot/plugins/search.rb | 14 |
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 |