Kaynağa Gözat

Patch from Phil Gregory to fix the bug with most referenced nicks, where
"number of uses" wasn't being incremented for every alias

Morten Brix Pedersen 24 yıl önce
ebeveyn
işleme
ec17e14242
1 değiştirilmiş dosya ile 17 ekleme ve 0 silme
  1. 17 0
      modules/Pisg/Parser/Logfile.pm

+ 17 - 0
modules/Pisg/Parser/Logfile.pm

@@ -75,6 +75,7 @@ sub analyze
         }
 
         _pick_random_lines(\%stats, \%lines);
+	_uniquify_nicks(\%stats);
 
         my ($sec,$min,$hour) = gmtime(time() - $starttime);
         $stats{processtime} =
@@ -465,6 +466,22 @@ sub _pick_random_lines
     }
 }
 
+sub _uniquify_nicks {
+    my ($stats) = @_;
+
+    foreach my $word (keys %{ $stats->{wordcounts} }) {
+	my $realnick = find_alias($word);
+
+	# The lc() is an attempt at being case insensitive.
+	if (lc($realnick) ne lc($word)) {
+	    $stats->{wordcounts}{$realnick} += $stats->{wordcounts}{$word};
+	    $stats->{wordnicks}{$realnick}   = $stats->{wordnicks}{$word};
+	    delete $stats->{wordcounts}{$word};
+	    delete $stats->{wordnicks}{$word};
+	}
+    }
+}
+
 sub _strip_mirccodes
 {
     my $line = shift;