From 40340c98e5699a9be81ca0e9b6515b9ed1396387 Mon Sep 17 00:00:00 2001 From: dbs Date: Sat, 23 Feb 2008 01:34:49 +0000 Subject: [PATCH] And check for duplicate IDs in the main loop, just like miker asked git-svn-id: svn://svn.open-ils.org/ILS/trunk@8830 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/extras/import/marc2bre.pl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/extras/import/marc2bre.pl b/Open-ILS/src/extras/import/marc2bre.pl index 9d8014ddef..b6c658b3d7 100755 --- a/Open-ILS/src/extras/import/marc2bre.pl +++ b/Open-ILS/src/extras/import/marc2bre.pl @@ -149,6 +149,7 @@ while ( try { $rec = $batch->next } otherwise { $rec = -1 } ) { $id =~ s/\D+//gso; } + $id = '' if (exists $dontuse_id{$id}); } if (!$id) { @@ -168,7 +169,7 @@ while ( try { $rec = $batch->next } otherwise { $rec = -1 } ) { my $tcn; ($rec, $tcn) = preprocess($rec, $id); - $tcn->add_subfields(c => $id); + $tcn->add_subfields(c => $id); $rec->delete_field( $_ ) for ($rec->field($id_field)); $rec->append_fields( $tcn ); @@ -214,12 +215,14 @@ sub preprocess { my $rec = shift; my $id = shift; - my ($source, $value) = ('','',''); + my ($source, $value) = ('',''); + + $id = '' if (exists $dontuse_id{$id}); if (!$id) { my $f = $rec->field('001'); $id = $f->data if ($f); - $id = '' if (exists $dontuse_id{$id}); + $id = '' if (exists $dontuse_id{$id}); } if (!$id || exists $dontuse_id{$source.$id}) { -- 2.11.0