safer MR mapping
[Evergreen.git] / Open-ILS / src / extras / import / direct_ingest.pl
index 4159ff7..d0b3eea 100755 (executable)
@@ -14,7 +14,7 @@ use OpenILS::Application::Ingest;
 use OpenILS::Application::AppUtils;
 use OpenILS::Utils::Fieldmapper;
 use Digest::MD5 qw/md5_hex/;
-use JSON;
+use OpenSRF::Utils::JSON;
 use Data::Dumper;
 use FileHandle;
 
@@ -26,12 +26,13 @@ use MARC::Charset;
 
 MARC::Charset->ignore_errors(1);
 
-my ($auth, $config) =
-       (0, '/openils/conf/bootstrap.conf');
+my ($auth, $config, $quiet) =
+       (0, '/openils/conf/opensrf_core.xml');
 
 GetOptions(
        'config=s'      => \$config,
        'authority'     => \$auth,
+       'quiet'         => \$quiet,
 );
 
 my @ses;
@@ -57,7 +58,7 @@ my $starttime = time;
 while (my $rec = <>) {
        next unless ($rec);
 
-       my $bib = JSON->JSON2perl($rec);
+       my $bib = OpenSRF::Utils::JSON->JSON2perl($rec);
        my $data;
 
        try {
@@ -69,9 +70,9 @@ while (my $rec = <>) {
 
        next unless $data;
 
-       postprocess( { bib => $bib, worm_data => $data } );
+       postprocess( { bib => $bib, ingest_data => $data } );
 
-       if (!($count % 20)) {
+       if (!$quiet && !($count % 20)) {
                print NEWERR "\r$count\t". $count / (time - $starttime);
        }
 
@@ -82,21 +83,21 @@ sub postprocess {
        my $data = shift;
 
        my $bib = $data->{bib};
-       my $full_rec = $data->{worm_data}->{full_rec};
+       my $full_rec = $data->{ingest_data}->{full_rec};
 
-       my $field_entries = $data->{worm_data}->{field_entries} unless ($auth);
-       my $fp = $data->{worm_data}->{fingerprint} unless ($auth);
-       my $rd = $data->{worm_data}->{descriptor} unless ($auth);
+       my $field_entries = $data->{ingest_data}->{field_entries} unless ($auth);
+       my $fp = $data->{ingest_data}->{fingerprint} unless ($auth);
+       my $rd = $data->{ingest_data}->{descriptor} unless ($auth);
 
        $bib->fingerprint( $fp->{fingerprint} ) unless ($auth);
        $bib->quality( $fp->{quality} ) unless ($auth);
 
-       print( JSON->perl2JSON($bib)."\n" );
+       print( OpenSRF::Utils::JSON->perl2JSON($bib)."\n" );
        unless ($auth) {
-               print( JSON->perl2JSON($rd)."\n" );
-               print( JSON->perl2JSON($_)."\n" ) for (@$field_entries);
+               print( OpenSRF::Utils::JSON->perl2JSON($rd)."\n" );
+               print( OpenSRF::Utils::JSON->perl2JSON($_)."\n" ) for (@$field_entries);
        }
 
-       print( JSON->perl2JSON($_)."\n" ) for (@$full_rec);
+       print( OpenSRF::Utils::JSON->perl2JSON($_)."\n" ) for (@$full_rec);
 }