X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=run.pl;h=cd940c9a67878979ed424f24f100edd0d8e4b9f4;hb=HEAD;hp=09261f0d56425e5e72b001f6988dcd3906b772a6;hpb=adb9b8d269e80c8bada6e8d865d6c8ff7b05b8f7;p=webpac2 diff --git a/run.pl b/run.pl index 09261f0..cd940c9 100755 --- a/run.pl +++ b/run.pl @@ -86,6 +86,10 @@ You can use this option as C<--no-marc-generate> to disable MARC generation. By default turned on if normalisation file has C directives. You can disable lint messages with C<--no-marc-lint>. +=item --marc-xml + +Creeate MARCXML file (this can be quite large) + =item --marc-dump Force dump or input and marc record for debugging. @@ -122,8 +126,9 @@ my $stats = 0; my $validate_path; my $validate_delimiters_path; my $marc_generate = 1; -my $marc_lint = 1; +my $marc_lint = 0; my $marc_dump = 0; +my $marc_xml = 0; my $parallel = 0; my $only_links = 0; my $merge = 0; @@ -146,6 +151,7 @@ GetOptions( "marc-generate!" => \$marc_generate, "marc-lint!" => \$marc_lint, "marc-dump!" => \$marc_dump, + "marcxml!" => \$marc_xml, "parallel=i" => \$parallel, "only-links!" => \$only_links, "merge" => \$merge, @@ -383,7 +389,7 @@ foreach my $database ( sort keys %{ $config->databases } ) { next; } - next if ($only_input && ($input_name !~ m#$only_input#i && $input->{type} !~ m#$only_input#i)); + next if defined $only_input && $input_name !~ m#$only_input#i; my $type = lc($input->{type}); @@ -429,7 +435,7 @@ foreach my $database ( sort keys %{ $config->databases } ) { my $input_db = new WebPAC::Input( module => $input_module, limit => $limit || $input->{limit}, - offset => $offset, + offset => $offset || $input->{offset}, recode => $input->{recode}, stats => $stats, modify_records => $input->{modify_records}, @@ -535,14 +541,18 @@ foreach my $database ( sort keys %{ $config->databases } ) { 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}", lint => $marc_lint, dump => $marc_dump, + marcxml => $marc_xml, ); } my $rules = $parser->normalize_rules($database,$input_name); - $log->logwarn("no normalize rules for $database/$input_name", $input_db->input_module->can('normalize') ? " using normalize from input module" : '') unless $rules; + if ( ! $rules ) { + $log->logwarn("no normalize rules for $database/$input_name", $input_db->input_module->can('normalize') ? " using normalize from input module" : ''); + next; + } $log->debug("parsed normalize rules:\n$rules");