From: Thomas Hochstein Date: Tue, 3 Sep 2013 20:25:23 +0000 (+0200) Subject: Merge branch 'thh-bug51' into next X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=commitdiff_plain;h=599fefbf6aea5777c2958718048ad3e3a12050fc;hp=-c Merge branch 'thh-bug51' into next * thh-bug51: One more default sorting order ("grouping"). --- 599fefbf6aea5777c2958718048ad3e3a12050fc diff --combined bin/groupstats.pl index d03c582,bcb2b61..7f3a32c --- a/bin/groupstats.pl +++ b/bin/groupstats.pl @@@ -78,16 -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,12 -126,17 +133,17 @@@ if ($OptBoundType and $OptBoundType ne } ### get sort order and build SQL 'ORDER BY' clause + # force to 'month' for $OptReportType 'average' or 'sum' + $OptGroupBy = 'month' if ($OptReportType and $OptReportType ne 'default'); # default to 'newsgroup' for $OptBoundType 'level' or 'average' $OptGroupBy = 'newsgroup' if (!$OptGroupBy and $OptBoundType and $OptBoundType ne 'default'); - # force to 'month' for $OptReportType 'average' or 'sum' - $OptGroupBy = 'month' if ($OptReportType and $OptReportType 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 !~ /[:*%]/); # 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); # $GroupBy will contain 'month' or 'newsgroup' (parsed result of $OptGroupBy) # set it to 'month' or 'key' for OutputData() @@@ -382,9 -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 @@@ -394,9 -389,6 +399,9 @@@ line is ignored). All other newsgroups 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