diff --git a/ChangeLog b/ChangeLog index b66b4b0..46cc602 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,9 +2,6 @@ yapfaq 1.0.0 (unreleased) * Complete rewrite. * Add POD. * Fix file handling (UTF8 mode). -* Show next posting date if posting is not due. -* Add --simulation mode. -* Update examples in POD. yapfaq 0.10 (unreleased) * Add: Charset definition. diff --git a/bin/yapfaq.pl b/bin/yapfaq.pl index 6c6f97c..5c65499 100755 --- a/bin/yapfaq.pl +++ b/bin/yapfaq.pl @@ -88,13 +88,12 @@ $Config{'nntp-server'} = $ENV{'NNTPSERVER'} if ($ENV{'NNTPSERVER'}); $Config{'nntp-port'} = $ENV{'NNTPPORT'} if ($ENV{'NNTPPORT'}); ### read commandline options -my ($OptProject,$OptForce,$OptTest,$OptNewsgroup,$OptOutput,$OptSimulation); +my ($OptProject,$OptForce,$OptTest,$OptNewsgroup,$OptOutput); GetOptions ('p|project=s' => \$OptProject, 'f|force' => \$OptForce, 't|test' => \$OptTest, 'n|newsgroup=s' => \$OptNewsgroup, 'o|output' => \$OptOutput, - 's|simulation' => \$OptSimulation, 'datadir=s' => \$Config{'datadir'}, 'nntp-server=s' => \$Config{'nntp-server'}, 'nntp-port=s' => \$Config{'nntp-port'}, @@ -108,12 +107,6 @@ GetOptions ('p|project=s' => \$OptProject, 'h|help' => \&ShowPOD, 'V|version' => \&ShowVersion) or &ShowUsage; -# -s implies -t and -v -if ($OptSimulation) { - $OptTest = 1; - $Config{'verbose'} = 1; -} - ### create list of @Projects from $Config{'datadir'} unless -p is set my @Projects; if (!$OptProject) { @@ -142,7 +135,6 @@ foreach (@Projects) { # @Posting will be empty ('') if not due my @Posting = &BuildPosting($_); next if !$#Posting; - next if $OptSimulation; # save Message-ID my $LastMID; @@ -501,7 +493,7 @@ sub BuildPosting { $_ =~ s/^Posting-Frequency:\s+//i; $PostingFrequency = $_; $_ = ''; - print "- Posting-Frequency set to $PostingFrequency from header.\n" if $Config{'debug'}; + print "- Posting-Frequency set to $PostingFrequency.\n" if $Config{'debug'}; } } @@ -513,15 +505,13 @@ sub BuildPosting { # default to 1 month if no (valid) Posting-Frequency is set $PostingFrequency = '1m' if $PostingFrequency !~ /^\d+[dwmy]$/; - my $NextPosted = &AddDuration(&ParseDate($LastPosted),$PostingFrequency) if $LastPosted; # check if posting is due print "- Posting has been forced.\n" if $Config{'debug'} && $OptForce; - if ($OptForce or (!$LastPosted) or ($LastPosted && $NextPosted <= DateTime->now)) { + if ($OptForce or (!$LastPosted) or ($LastPosted && &AddDuration(&ParseDate($LastPosted),$PostingFrequency) <= DateTime->now)) { print "... is due and will be posted.\n" if $Config{'verbose'} or $Config{'debug'}; } else { - printf ("... is not due (next post at %s).\n", $NextPosted->strftime('%Y-%m-%d')) - if $Config{'verbose'} or $Config{'debug'}; + print "... is not due.\n" if $Config{'verbose'} or $Config{'debug'}; return ''; } @@ -588,7 +578,7 @@ yapfaq - Post FAQs to Usenet I<(yet another postfaq)> =head1 SYNOPSIS -B [B<-cfhotsV>] [B<-p> I[B<-n> I] [OPTIONS] +B [B<-Vhcfto>] [B<-p> I[B<-n> I] [OPTIONS] =head1 REQUIREMENTS @@ -850,11 +840,6 @@ projects. Display this man page and exit. -=item B<-s>, B<--simulation> - -Simulation mode. Don't post, just show which projects would be due. -Implies B<--test> and B<--verbose>. - =item B<-t>, B<--test> Test mode. Don't update project status (time and Message-ID of last @@ -883,41 +868,34 @@ Post all FAQs that are due for posting: yapfaq.pl -You may run this command daily from B. If you add "-v", you'll -get a report mailed which FAQs have been posted and which were not -due. +You may run this command daily from B. -Pipe all FAQs that are due for posting to I from INN instead: +Do a dry run, showing which FAQs would be posted and print them on +STDOUT: + + yapfaq.pl -t -v -o + (or yapfaq.pl -tvo) + +The same, with debugging output: + + yapfaq.pl -tdo + +Force a test post of your I text to I, even if +the text is not due to be posted: + + yapfaq.pl -t -f -n alt.test + +The same, with debugging output: + + yapfaq.pl -tfdn alt.test + + +Pipe all FAQs (that are due for posting) to I from INN: yapfaq.pl -o | inews You may run this command daily from B, too. -Show which FAQs are due for posting and the next due dates for those -that are not: - - yapfaq.pl -s - -Do a test run of your I text and and print it on STDOUT -(whether ist is due or not): - - yapfaq.pl -t -f -o -p example - (or yapfaq.pl -tvop example) - -The same, with debugging output: - - yapfaq.pl -tdop example - -Force a test post of your I text to I, even if -the text is not due to be posted (same as before, just replace "-o" -by "-n alt-test"): - - yapfaq.pl -t -f -p example -n alt.test - -The same, with debugging output: - - yapfaq.pl -tfdp example -n alt.test - =head1 ENVIRONMENT =over 2