From d5322152bd03e24534af7ed7512a24e666cf9919 Mon Sep 17 00:00:00 2001 From: dms Date: Tue, 13 Feb 2001 14:00:32 +0000 Subject: [PATCH] - added support to factstats (requested,requesters) of "total" value. git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@382 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/Modules/Factoids.pl | 43 ++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/src/Modules/Factoids.pl b/src/Modules/Factoids.pl index 74992ee..d6c20b4 100644 --- a/src/Modules/Factoids.pl +++ b/src/Modules/Factoids.pl @@ -225,7 +225,7 @@ sub CmdFactStats { my @newlist; foreach $f (keys %redir) { - my @sublist = keys %{$redir{$f}}; + my @sublist = keys %{ $redir{$f} }; for (@sublist) { s/([\,\;]+)/\037$1\037/g; } @@ -494,15 +494,18 @@ sub CmdFactStats { my $count; my @list; + my $total = 0; foreach $count (sort {$b <=> $a} keys %hash) { - my @faqtoids = sort keys %{$hash{$count}}; + my @faqtoids = sort keys %{ $hash{$count} }; for (@faqtoids) { s/([\,\;]+)/\037$1\037/g; } + $total += $count * scalar(@faqtoids); push(@list, "$count - ". join(", ", @faqtoids)); } + unshift(@list, "\037$total - TOTAL\037"); my $prefix = "factoid statistics on $type "; return &formListReply(0, $prefix, @list); @@ -531,10 +534,17 @@ sub CmdFactStats { my $count; my @list; + my $total = 0; + my $users = 0; foreach $count (sort { $b <=> $a } keys %count) { - my $requester = join(", ", sort keys %{$count{$count}}); + my $requester = join(", ", sort keys %{ $count{$count} }); + $total += $count * scalar(keys %{ $count{$count} }); + $users += scalar(keys %{ $count{$count} }); push(@list, "$count by $requester"); } + unshift(@list, "\037$total TOTAL REQUESTS; $users UNIQUE REQUESTERS\037"); + # should not the above value be the same as collected by + # 'requested'? soemthing weird is going on! my $prefix = "rank of top factoid requesters: "; return &formListReply(0, $prefix, @list); @@ -550,21 +560,22 @@ sub CmdFactStats { for (@list) { my $factoid = $_; my $val = &getFactInfo($factoid, "factoid_value"); - if ($val =~ /^see( also)? (.*?)\.?$/i) { - my $redirf = lc $2; - my $redir = &getFactInfo($redirf, "factoid_value"); + + next unless ($val =~ /^see( also)? (.*?)\.?$/i); - if ($redirf =~ /^\Q$factoid\W$/i) { - &delFactoid($factoid); - $loop{$factoid} = 1; - } + my $redirf = lc $2; + my $redir = &getFactInfo($redirf, "factoid_value"); - if (defined $redir) { # good. - &setFactInfo($factoid,"factoid_value"," see $redir"); - $fixed++; - } else { - push(@newlist, $redirf); - } + if ($redirf =~ /^\Q$factoid\W$/i) { + &delFactoid($factoid); + $loop{$factoid} = 1; + } + + if (defined $redir) { # good. + &setFactInfo($factoid,"factoid_value"," see $redir"); + $fixed++; + } else { + push(@newlist, $redirf); } } -- 2.39.2