]> git.donarmstrong.com Git - infobot.git/blob - src/Modules/Search.pl
* Add vim formatting comments ( # vim:ts=4:sw=4:expandtab:tw=80 )
[infobot.git] / src / Modules / Search.pl
1 #
2 # infobot copyright kevin lenzo 1997-1998
3 # rewritten by xk 1999
4 #
5
6 package Search;
7
8 use strict;
9
10 ###
11 # Search(keys||vals, str);
12 sub Search {
13     my ($type, $str) = @_;
14     my $start_time = &::timeget();
15     my @list;
16     my $maxshow = &::getChanConfDefault('maxListReplyCount', 15, $::chan);
17
18     $type =~ s/s$//;    # nice work-around.
19
20     if ($type eq 'value') {
21         # search by value.
22         @list = &::searchTable('factoids', 'factoid_key', 'factoid_value', $str);
23     } else {
24         # search by key.
25         @list = &::searchTable('factoids', 'factoid_key', 'factoid_key', $str);
26     }
27
28     @list=grep(!/\#DEL\#$/,@list) if (scalar(@list) > $maxshow);
29     my $delta_time = sprintf("%.02f", &::timedelta($start_time) );
30     &::status("search: took $delta_time sec for query.") if ($delta_time > 0);
31
32     my $prefix = "Factoid search of '\002$str\002' by $type ";
33
34     &::performStrictReply( &::formListReply(1, $prefix, @list) );
35 }
36
37 1;
38
39 # vim:ts=4:sw=4:expandtab:tw=80