From 89db2f904dc9ddd07bfce9c3fe1fe81b58c1aa8b Mon Sep 17 00:00:00 2001 From: Thomas Hochstein Date: Mon, 1 Nov 2010 17:53:14 +0100 Subject: [PATCH] gatherstats.pl: Move TLH check to NewsStats.pm. Signed-off-by: Thomas Hochstein --- NewsStats.pm | 5 ++++- gatherstats.pl | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NewsStats.pm b/NewsStats.pm index 2cb1be2..781272d 100644 --- a/NewsStats.pm +++ b/NewsStats.pm @@ -156,10 +156,11 @@ sub ListNewsgroups { ### hierarchy names where every newsgroup and hierarchy appears only once: ### de.alt.test,de.alt.admin -> de.ALL, de.alt.ALL, de.alt.test, de.alt.admin ### IN : $Newsgroups : a list of newsgroups (content of Newsgroups: header) +### $TLH : top level hierarchy (all other newsgroups are ignored) ### $ValidGroupsR: reference to a hash containing all valid newsgroups ### as keys ### OUT: %Newsgroups : hash containing all newsgroup and hierarchy names as keys - my ($Newsgroups,$ValidGroupsR) = @_; + my ($Newsgroups,$TLH,$ValidGroupsR) = @_; my %ValidGroups = %{$ValidGroupsR} if $ValidGroupsR; my %Newsgroups; chomp($Newsgroups); @@ -167,6 +168,8 @@ sub ListNewsgroups { $Newsgroups =~ s/\s//; # call &HierarchyCount for each newsgroup in $Newsgroups: for (split /,/, $Newsgroups) { + # don't count newsgroup/hierarchy in wrong TLH + next if($TLH and !/^$TLH/); # don't count invalid newsgroups if(%ValidGroups and !defined($ValidGroups{$_})) { warn (sprintf("DROPPED: %s\n",$_)); diff --git a/gatherstats.pl b/gatherstats.pl index a721b3e..14cd883 100755 --- a/gatherstats.pl +++ b/gatherstats.pl @@ -77,7 +77,7 @@ foreach my $Month (&ListMonth($StartMonth,$EndMonth)) { my %Postings; while (($_) = $DBQuery->fetchrow_array) { # get list oft newsgroups and hierarchies from Newsgroups: - my %Newsgroups = ListNewsgroups($_,$Options{'l'} ? \%ValidGroups : ''); + my %Newsgroups = ListNewsgroups($_,$Conf{'TLH'},$Options{'l'} ? \%ValidGroups : ''); # count each newsgroup and hierarchy once foreach (sort keys %Newsgroups) { $Postings{$_}++; -- 2.20.1