X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=blobdiff_plain;f=groupstats.pl;h=dbe7730c49e7a70688f0752e96fc05df5f7c2a02;hp=f758b8c644e4b68d72ee62375c3ad5b476d0a9af;hb=b2e0fd244430635e295c8c32b1727331924fdae6;hpb=b802bc3d293272d898eb4f2428e7d1809ebe0be9 diff --git a/groupstats.pl b/groupstats.pl index f758b8c..dbe7730 100755 --- a/groupstats.pl +++ b/groupstats.pl @@ -73,10 +73,15 @@ if ($Options{'l'}) { ### get time period my ($StartMonth,$EndMonth) = &GetTimePeriod($Options{'m'},$Options{'p'}); -# reset to one month for 'dump' output type +# if time period is more than one month: set output type to '-o pretty' or '-o dumpgroup' if ($Options{'o'} eq 'dump' and $Options{'p'}) { - warn ("$MySelf: W: You cannot combine time periods (-p) with '-o dump', changing output type to '-o pretty'.\n"); - $Options{'o'} = 'pretty'; + if (defined($Options{'n'}) and $Options{'n'} !~ /:|\*/) { + warn ("$MySelf: W: You cannot combine time periods (-p) with '-o dump', changing output type to '-o dumpgroup'.\n"); + $Options{'o'} = 'dumpgroup'; + } else { + warn ("$MySelf: W: You cannot combine time periods (-p) with '-o dump', changing output type to '-o pretty'.\n"); + $Options{'o'} = 'pretty'; + } }; ### init database @@ -174,8 +179,13 @@ $DBQuery->execute($StartMonth,$EndMonth,@GroupList,@Params) # output results # print caption (-c) with time period if -m or -p is set -# FIXME - month or period should handled differently -printf ("----- Report from %s to %s\n",$StartMonth,$EndMonth) if $Options{'c'} and ($Options{'m'} or $Options{'p'}); +if ($Options{'c'}) { + if ($Options{'p'}) { + printf ("----- Report from %s to %s\n",$StartMonth,$EndMonth); + } elsif ($Options{'m'}) { + printf ("----- Report for %s\n",$StartMonth); + }; +}; # print caption (-c) with newsgroup list if -n is set printf ("----- Newsgroups: %s\n",join(',',split(/:/,$Newsgroups))) if $Options{'c'} and $Options{'n'}; # print caption (-c) with threshold if -t is set, taking -i in account @@ -187,16 +197,16 @@ if (!defined($Options{'b'}) and !defined($Options{'l'})) { # -b is set (then -l can't be!) # we have to read in the query results ourselves, as they do not have standard layout while (my ($Newsgroup,$Postings) = $DBQuery->fetchrow_array) { - # we just assign "top x" or "bottom x" instead of a month for the caption - # FIXME - print &FormatOutput($Options{'o'}, ($Options{'i'} ? 'Bottom ' : 'Top ').$Options{'b'}, $Newsgroup, $Postings, $MaxLength); + # we just assign "top x" or "bottom x" instead of a month for the caption and force an output type of pretty + print &FormatOutput('pretty', ($Options{'i'} ? 'Bottom ' : 'Top ').$Options{'b'}, $Newsgroup, $Postings, $MaxLength); }; } else { # -l must be set now, as all other cases have been taken care of + # print caption (-c) with level, taking -i in account + printf ("----- Newsgroups with %s than %u postings over the whole time period\n",$Options{'i'} ? 'less' : 'more',$Options{'l'}) if $Options{'c'}; # we have to read in the query results ourselves, as they do not have standard layout while (my ($Month,$Newsgroup,$Postings) = $DBQuery->fetchrow_array) { # we just switch $Newsgroups and $Month for output generation - # FIXME print &FormatOutput($Options{'o'}, $Newsgroup, $Month, $Postings, 7); }; };