Bug 9656: Followup Make logging to a file optional (for fines)
authorJonathan Druart <jonathan.druart@biblibre.com>
Thu, 28 Feb 2013 13:09:24 +0000 (14:09 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Thu, 7 Mar 2013 14:27:02 +0000 (09:27 -0500)
The -log option become optional if the -output_dir is given.

Test plan:
call the script with
1/ no one parameter : no log file
2/ -l : log file will be created in /tmp
3/ -o=/home/koha/var/log : log file with be created in the specified
4/ -o=/home/koha/var/log -l: Same as 3/

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: All combination of options tested. Works well. No errors.
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
misc/cronjobs/fines.pl

index 3801450..d2b0062 100755 (executable)
@@ -60,7 +60,7 @@ calculated but not applied.
 
 This script has the following parameters :
     -h --help: this message
-    -l --log: log the output to a file
+    -l --log: log the output to a file (optional if the -o parameter is given)
     -o --out:  ouput directory for logs (defaults to env or /tmp if !exist)
     -v --verbose
 
@@ -82,10 +82,13 @@ my $delim = "\t";    # ?  C4::Context->preference('delimiter') || "\t";
 
 my %is_holiday;
 my $today = DateTime->now( time_zone => C4::Context->tz() );
-my $filename = get_filename($output_dir);
+my $filename;
+if ($log or $output_dir) {
+    $filename = get_filename($output_dir);
+}
 
 my $fh;
-if ($log) {
+if ($filename) {
     open $fh, '>>', $filename or croak "Cannot write file $filename: $!";
     print {$fh} join $delim, ( @borrower_fields, @item_fields, @other_fields );
     print {$fh} "\n";
@@ -131,7 +134,7 @@ for my $overdue ( @{$overdues} ) {
             );
         }
     }
-    if ($log) {
+    if ($filename) {
         my @cells;
         push @cells,
           map { defined $borrower->{$_} ? $borrower->{$_} : q{} }
@@ -141,7 +144,7 @@ for my $overdue ( @{$overdues} ) {
         say {$fh} join $delim, @cells;
     }
 }
-if ($log){
+if ($filename){
     close $fh;
 }
 
@@ -150,7 +153,7 @@ if ($verbose) {
     print <<"EOM";
 Fines assessment -- $today
 EOM
-    if ($log) {
+    if ($filename) {
         say "Saved to $filename";
     }
     print <<"EOM";