--- trunk/run.pl 2009/04/25 14:46:42 1164 +++ trunk/run.pl 2009/05/18 18:51:40 1184 @@ -11,7 +11,7 @@ use WebPAC::Input 0.16; use WebPAC::Store 0.15; use WebPAC::Normalize 0.22; -use WebPAC::Output::TT; +#use WebPAC::Output::TT; use WebPAC::Validate 0.11; use WebPAC::Output::MARC; use WebPAC::Config; @@ -412,10 +412,18 @@ if ( $mirror ) { my $path = $input->{path} || die "no input path in ",dump( $input ); - $log->info( "mirror ", $path, " ", -s $path, " bytes" ); - $log->warn( "$path not modified" ) - if mirror( "$mirror/$path", $path ) == RC_NOT_MODIFIED; + my $base = $path; + $base =~ s{/[^/]+$}{}; + mkpath $base unless -e $base; + + my $rc = mirror( "$mirror/$path", $path ); + if (is_error( $rc )) { + die "can't mirror $mirror/$path -> $path [$rc]"; + } else { + $log->info( "mirror ", $path, " [$rc] ", -s $path, " bytes" ); + } + } my $input_db = new WebPAC::Input( @@ -505,7 +513,9 @@ my $report_fh; if ($stats || $validate) { - my $path = "out/report/${database}-${input_name}.txt"; + my $out_report = 'out/report'; # FIXME move to config + mkpath $out_report unless -e $out_report; + my $path = "$out_report/${database}-${input_name}.txt"; open($report_fh, '>', $path) || $log->logdie("can't open $path: $!"); print $report_fh "Report for database '$database' input '$input_name' records ", @@ -520,8 +530,12 @@ my $marc; if ($marc_generate && $parser->have_rules( 'marc', $database, $input_name )) { + + my $out_marc = 'out/marc'; # FIXME move to config + mkpath $out_marc unless -e $out_marc; + $marc = new WebPAC::Output::MARC( - path => "out/marc/${database}-${input_name}.marc", + path => "$out_marc/${database}-${input_name}.marc", lint => $marc_lint, dump => $marc_dump, );