X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=blobdiff_plain;f=bin%2Fgroupstats.pl;h=2c1d9f50a7e96f6b66322c2ec2a8438fb6b4ef8e;hp=bcb2b611974c78411f526e36674b40e1b7bac350;hb=e39d4207a649749f24866d2ee1afeb8ebf3364e2;hpb=ea91003a99e679caa5bf56915f085a7c4931805b diff --git a/bin/groupstats.pl b/bin/groupstats.pl index bcb2b61..2c1d9f5 100755 --- a/bin/groupstats.pl +++ b/bin/groupstats.pl @@ -13,7 +13,7 @@ # which Perl itself is published. BEGIN { - our $VERSION = "0.01"; + our $VERSION = "0.02"; use File::Basename; # we're in .../bin, so our module is in ../lib push(@INC, dirname($0).'/../lib'); @@ -78,9 +78,16 @@ if ($OptReportType) { $OptReportType = 'default'; } } -# read list of newsgroups from --checkgroups -# into a hash reference -my $ValidGroups = &ReadGroupList($OptCheckgroupsFile) if $OptCheckgroupsFile; +# honor $OptCheckgroupsFile, +# warn for $OptSums if set concurrently +my $ValidGroups; +if ($OptCheckgroupsFile) { + # read list of newsgroups from --checkgroups + # into a hash reference + $ValidGroups = &ReadGroupList($OptCheckgroupsFile); + &Bleat(1,"--sums option can't possibly work with --checkgroups option set") + if $OptSums; +} ### read configuration my %Conf = %{ReadConfig($OptConfFile)}; @@ -133,8 +140,8 @@ $OptGroupBy = 'newsgroup' if (!$OptGroupBy and $OptBoundType and $OptBoundType ne 'default'); # default to 'newsgroup' if $OptGroupBy is not set and # just one newsgroup is requested, but more than one month -$OptGroupBy = 'newsgroup' if (!$OptGroupBy and - $OptMonth =~ /:/ and $OptNewsgroups !~ /[:*%]/); +$OptGroupBy = 'newsgroup' if (!$OptGroupBy and $OptMonth and $OptMonth =~ /:/ + and $OptNewsgroups and $OptNewsgroups !~ /[:*%]/); # parse $OptGroupBy to $GroupBy, create ORDER BY clause $SQLOrderClause # if $OptGroupBy is still not set, SQLSortOrder() will default to 'month' my ($GroupBy,$SQLOrderClause) = SQLSortOrder($OptGroupBy, $OptOrderBy); @@ -270,7 +277,7 @@ groupstats - create reports on newsgroup usage =head1 SYNOPSIS -B [B<-Vhcs> B<--comments>] [B<-m> I[:I] | I] [B<-n> I] [B<--checkgroups> I] [B<-r> I] [B<-l> I] [B<-u> I] [B<-b> I] [B<-g> I] [B<-o> I] [B<-f> I] [B<--filetemplate> I] [B<--groupsdb> I] [--conffile I] +B [B<-Vhcs> B<--comments>] [B<-m> I[:I] | I] [B<-n> I] [B<--checkgroups> I] [B<-r> I] [B<-l> I] [B<-u> I] [B<-b> I] [B<-g> I] [B<-o> I] [B<-f> I] [B<--filetemplate> I] [B<--groupsdb> I] [B<--conffile> I] =head1 REQUIREMENTS @@ -380,6 +387,9 @@ example: See the B man page for details. +This option does not work together with the B<--checkgroups> option as +all "virtual" groups will not be present in the checkgroups file. + =item B<--checkgroups> I Restrict output to those newgroups present in a file in checkgroups format @@ -389,6 +399,9 @@ line is ignored). All other newsgroups will be removed from output. Contrary to B, I is not a template, but refers to a single file in checkgroups format. +The B<--sums> option will not work together with this option as "virtual" +groups will not be present in the checkgroups file. + =item B<-r>, B<--report> I Choose the report type: I, I or I @@ -691,7 +704,7 @@ Thomas Hochstein =head1 COPYRIGHT AND LICENSE -Copyright (c) 2010-2012 Thomas Hochstein +Copyright (c) 2010-2013 Thomas Hochstein This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.