Merge branch 'thh-small-changes' into next
* thh-small-changes: Small comment fixes. --sums is not compatible with --checkgroups.
This commit is contained in:
commit
7624accb6e
|
@ -73,6 +73,8 @@ $OptStatsType = 'all' if !$OptStatsType;
|
|||
### get time period from --month
|
||||
# get verbal description of time period, drop SQL code
|
||||
my ($Period) = &GetTimePeriod($OptMonth);
|
||||
# bail out if --month is invalid or set to 'ALL';
|
||||
# we don't support the latter
|
||||
&Bleat(2,"--month option has an invalid format - please use 'YYYY-MM' or ".
|
||||
"'YYYY-MM:YYYY-MM'!") if (!$Period or $Period eq 'all time');
|
||||
|
||||
|
|
|
@ -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)};
|
||||
|
@ -375,6 +382,9 @@ example:
|
|||
|
||||
See the B<gatherstats> 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<filename>
|
||||
|
||||
Restrict output to those newgroups present in a file in checkgroups format
|
||||
|
@ -384,6 +394,9 @@ line is ignored). All other newsgroups will be removed from output.
|
|||
Contrary to B<gatherstats>, I<filename> 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<default|average|sums>
|
||||
|
||||
Choose the report type: I<default>, I<average> or I<sums>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# Copyright (c) 2010-2013 Thomas Hochstein <thh@inter.net>
|
||||
#
|
||||
# This module can be redistributed and/or modified under the same terms under
|
||||
# This module can be redistributed and/or modified under the same terms under
|
||||
# which Perl itself is published.
|
||||
|
||||
package NewsStats;
|
||||
|
@ -244,7 +244,7 @@ sub ReadGroupList {
|
|||
### ignoring everything after the first whitespace and so accepting files
|
||||
### in checkgroups format as well as (parts of) an INN active file)
|
||||
### IN : $Filename : file to read
|
||||
### OUT: \%ValidGroups: hash containing all valid newsgroups
|
||||
### OUT: \%ValidGroups: reference to a hash containing all valid newsgroups
|
||||
my ($Filename) = @_;
|
||||
my %ValidGroups;
|
||||
open (my $LIST,"<$Filename") or &Bleat(2,"Cannot read $Filename: $!");
|
||||
|
@ -275,12 +275,12 @@ sub GetTimePeriod {
|
|||
my ($Verbal, $SQL);
|
||||
# define a regular expression for a month
|
||||
my $REMonth = '\d{4}-\d{2}';
|
||||
|
||||
|
||||
# default to last month if option is not set
|
||||
if(!$Month) {
|
||||
$Month = &LastMonth;
|
||||
}
|
||||
|
||||
|
||||
# check for valid input
|
||||
if ($Month =~ /^$REMonth$/) {
|
||||
# single month (YYYY-MM)
|
||||
|
@ -299,7 +299,7 @@ sub GetTimePeriod {
|
|||
# invalid input
|
||||
return (undef,undef);
|
||||
}
|
||||
|
||||
|
||||
return ($Verbal,$SQL);
|
||||
};
|
||||
|
||||
|
@ -407,7 +407,7 @@ sub OutputData {
|
|||
my %ValidKeys = %{$ValidKeys} if $ValidKeys;
|
||||
my ($FileName, $Handle, $OUT);
|
||||
our $LastIteration;
|
||||
|
||||
|
||||
# define output types
|
||||
my %LegalOutput;
|
||||
@LegalOutput{('dump','list','pretty')} = ();
|
||||
|
@ -439,7 +439,7 @@ sub OutputData {
|
|||
# safeguards for filename creation:
|
||||
# replace potential problem characters with '_'
|
||||
$FileName = sprintf('%s-%s',$FileTempl,$Caption);
|
||||
$FileName =~ s/[^a-zA-Z0-9_-]+/_/g;
|
||||
$FileName =~ s/[^a-zA-Z0-9_-]+/_/g;
|
||||
open ($OUT,">$FileName")
|
||||
or &Bleat(2,sprintf("Cannot open output file '%s': $!",
|
||||
$FileName));
|
||||
|
@ -776,5 +776,3 @@ sub CheckValidNewsgroups {
|
|||
|
||||
#####------------------------------- done ---------------------------------#####
|
||||
1;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue