Get empty 'virtual' hierarchies working.
authorThomas Hochstein <thh@inter.net>
Sun, 1 Sep 2013 15:52:21 +0000 (17:52 +0200)
committerThomas Hochstein <thh@inter.net>
Sun, 1 Sep 2013 15:52:21 +0000 (17:52 +0200)
Commit b5125b1099cf5cf12beb0520d5896b9a1d7850ae
was broken.

We didn't add empty .ALL hierarchies as needed;
we added empty (non-existant) hierarchies without
appended '.ALL', and didn't add the original
empty group we started with.

(What's more, gatherstats didn't even start any
more due to missing ex- and import of
&ParseHierarchies from NewsStats.pm.)

Fixes #52 (and some more breakage).

Signed-off-by: Thomas Hochstein <thh@inter.net>
NewsStats.pm
gatherstats.pl

index 428719e..bfcb37b 100644 (file)
@@ -33,6 +33,7 @@ require Exporter;
   SplitPeriod
   ListMonth
   ListNewsgroups
+  ParseHierarchies
   ReadGroupList
   OutputData
   FormatOutput
index ae7d65d..4c539f1 100755 (executable)
@@ -19,7 +19,7 @@ BEGIN {
 }
 use strict;
 
-use NewsStats qw(:DEFAULT :TimePeriods ListNewsgroups ReadGroupList);
+use NewsStats qw(:DEFAULT :TimePeriods ListNewsgroups ParseHierarchies ReadGroupList);
 
 use DBI;
 use Getopt::Long qw(GetOptions);
@@ -145,13 +145,15 @@ foreach my $Month (&ListMonth($Period)) {
     if (%ValidGroups) {
       foreach (sort keys %ValidGroups) {
         if (!defined($Postings{$_})) {
-          # expand newsgroup with hierarchies
-          my @Newsgroups = ParseHierarchies($_);
-          # add each empty newsgroup and empty hierarchies, too, as needed
-          foreach (@Newsgroups) {
-            if (!defined($Postings{$_})) {
-              $Postings{$_} = 0;
-              warn (sprintf("ADDED: %s as empty group\n",$_));
+          # add current newsgroup as empty group
+          $Postings{$_} = 0;
+          warn (sprintf("ADDED: %s as empty group\n",$_));
+          # add empty hierarchies for current newsgroup as needed
+          foreach (ParseHierarchies($_)) {
+            my $Hierarchy = $_ . '.ALL';
+            if (!defined($Postings{$Hierarchy})) {
+              $Postings{$Hierarchy} = 0;
+              warn (sprintf("ADDED: %s as empty group\n",$Hierarchy));
             };
           };
         }
This page took 0.012754 seconds and 4 git commands to generate.