12 |
use WebPAC::Store 0.03; |
use WebPAC::Store 0.03; |
13 |
use WebPAC::Normalize 0.11; |
use WebPAC::Normalize 0.11; |
14 |
use WebPAC::Output::TT; |
use WebPAC::Output::TT; |
15 |
use WebPAC::Validate; |
use WebPAC::Validate 0.06; |
16 |
use WebPAC::Output::MARC; |
use WebPAC::Output::MARC; |
17 |
use YAML qw/LoadFile/; |
use YAML qw/LoadFile/; |
18 |
use Getopt::Long; |
use Getopt::Long; |
60 |
|
|
61 |
=item --stats |
=item --stats |
62 |
|
|
63 |
disable indexing and dump statistics about field and subfield |
disable indexing, modify_* in configuration and dump statistics about field |
64 |
usage for each input |
and subfield usage for each input |
65 |
|
|
66 |
=item --validate path/to/validation_file |
=item --validate path/to/validation_file |
67 |
|
|
335 |
$input->{lookup} ? "lookup '$input->{lookup}'" : "" |
$input->{lookup} ? "lookup '$input->{lookup}'" : "" |
336 |
); |
); |
337 |
|
|
338 |
|
if ($stats) { |
339 |
|
# disable modification of records if --stats is in use |
340 |
|
delete($input->{modify_records}); |
341 |
|
delete($input->{modify_file}); |
342 |
|
} |
343 |
|
|
344 |
my $input_db = new WebPAC::Input( |
my $input_db = new WebPAC::Input( |
345 |
module => $input_module, |
module => $input_module, |
346 |
encoding => $config->{webpac}->{webpac_encoding}, |
encoding => $config->{webpac}->{webpac_encoding}, |
353 |
recode => $input->{recode}, |
recode => $input->{recode}, |
354 |
stats => $stats, |
stats => $stats, |
355 |
modify_records => $input->{modify_records}, |
modify_records => $input->{modify_records}, |
356 |
|
modify_file => $input->{modify_file}, |
357 |
); |
); |
358 |
$log->logdie("can't create input using $input_module") unless ($input); |
$log->logdie("can't create input using $input_module") unless ($input); |
359 |
|
|
406 |
|
|
407 |
|
|
408 |
if ($validate) { |
if ($validate) { |
409 |
my @errors = $validate->validate_errors( $row ); |
if ( my $errors = $validate->validate_errors( $row, $input_db->dump ) ) { |
410 |
$log->error( "MFN $mfn validation errors:\n", join("\n", @errors) ) if (@errors); |
$log->error( "MFN $mfn validation error:\n", |
411 |
|
dump( $errors ) |
412 |
|
); |
413 |
|
} |
414 |
} |
} |
415 |
|
|
416 |
my $ds_config = dclone($db_config); |
my $ds_config = dclone($db_config); |
463 |
$total_rows++; |
$total_rows++; |
464 |
} |
} |
465 |
|
|
466 |
|
if ($validate) { |
467 |
|
my $errors = $validate->report; |
468 |
|
$log->info("validation errors:\n$errors\n" ) if ($errors); |
469 |
|
} |
470 |
|
|
471 |
$log->info("statistics of fields usage:\n", $input_db->stats) if ($stats); |
$log->info("statistics of fields usage:\n", $input_db->stats) if ($stats); |
472 |
|
|
473 |
# close MARC file |
# close MARC file |