my $help;
my $verbose;
my $output_dir;
+my $log;
GetOptions(
'h|help' => \$help,
'v|verbose' => \$verbose,
+ 'l|log' => \$log,
'o|out:s' => \$output_dir,
);
my $usage = << 'ENDUSAGE';
This script has the following parameters :
-h --help: this message
+ -l --log: log the output to a file
-o --out: ouput directory for logs (defaults to env or /tmp if !exist)
-v --verbose
my $today = DateTime->now( time_zone => C4::Context->tz() );
my $filename = get_filename($output_dir);
-open my $fh, '>>', $filename or croak "Cannot write file $filename: $!";
-print {$fh} join $delim, ( @borrower_fields, @item_fields, @other_fields );
-print {$fh} "\n";
-
-my $counted = 0;
+my $fh;
+if ($log) {
+ open $fh, '>>', $filename or croak "Cannot write file $filename: $!";
+ print {$fh} join $delim, ( @borrower_fields, @item_fields, @other_fields );
+ print {$fh} "\n";
+}
+my $counted = 0;
my $overdues = Getoverdues();
for my $overdue ( @{$overdues} ) {
if ( !defined $overdue->{borrowernumber} ) {
);
}
}
- my @cells;
- push @cells,
- map { defined $borrower->{$_} ? $borrower->{$_} : q{} } @borrower_fields;
- push @cells, map { $overdue->{$_} } @item_fields;
- push @cells, $type, $unitcounttotal, $amount;
- say {$fh} join $delim, @cells;
+ if ($log) {
+ my @cells;
+ push @cells,
+ map { defined $borrower->{$_} ? $borrower->{$_} : q{} }
+ @borrower_fields;
+ push @cells, map { $overdue->{$_} } @item_fields;
+ push @cells, $type, $unitcounttotal, $amount;
+ say {$fh} join $delim, @cells;
+ }
+}
+if ($log){
+ close $fh;
}
-close $fh;
if ($verbose) {
my $overdue_items = @{$overdues};
print <<"EOM";
-Fines assessment -- $today -- Saved to $filename
+Fines assessment -- $today
+EOM
+ if ($log) {
+ say "Saved to $filename";
+ }
+ print <<"EOM";
Number of Overdue Items:
counted $overdue_items
reported $counted
$name =~ s/\W//;
$name .= join q{}, q{_}, $today->ymd(), '.log';
$name = File::Spec->catfile( $directory, $name );
- if ($verbose) {
+ if ($verbose && $log) {
say "writing to $name";
}
return $name;