--- trunk/run.pl 2006/07/02 10:27:06 558 +++ trunk/run.pl 2006/07/02 14:40:32 560 @@ -77,6 +77,10 @@ By default turned on if C<--marc-normalize> is used. You can disable lint messages with C<--no-marc-lint>. +=item --marc-dump + +Force dump or input and marc record for debugging. + =back =cut @@ -92,6 +96,7 @@ my $validate_path; my ($marc_normalize, $marc_output); my $marc_lint = 1; +my $marc_dump = 0; GetOptions( "limit=i" => \$limit, @@ -100,12 +105,13 @@ "one=s" => \$only_filter, "only=s" => \$only_filter, "config" => \$config, - "debug" => \$debug, + "debug+" => \$debug, "stats" => \$stats, "validate=s" => \$validate_path, "marc-normalize=s" => \$marc_normalize, "marc-output=s" => \$marc_output, "marc-lint!" => \$marc_lint, + "marc-dump!" => \$marc_dump, ); $config = LoadFile($config); @@ -294,7 +300,6 @@ $log->error( "MFN $mfn validation errors:\n", join("\n", @errors) ) if (@errors); } - my $ds = WebPAC::Normalize::data_structure( row => $row, rules => $rules, @@ -322,6 +327,7 @@ $log->warn("MARC record $mfn is empty, skipping"); } else { $marc->add_fields( @marc_fields ); + if ($marc_lint) { $lint->check_record( $marc ); my $err = join( "\n", $lint->warnings ); @@ -331,6 +337,14 @@ "MARC lint warnings: ",$err,"\n" ) if ($err); } + + if ($marc_dump) { + $log->info("MARC record on MFN $mfn\n", + "Original imput row: ",dump($row), "\n", + "Normalized MARC row: ",dump(@marc_fields), "\n", + ); + } + print $marc_fh $marc->as_usmarc; } }