LP#1575908: Avoid removing $0s we do not understand collab/miker/lp_1575908-do_not_kill_sf_0_uris
authorMike Rylander <mrylander@gmail.com>
Mon, 9 May 2016 21:28:44 +0000 (17:28 -0400)
committerMike Rylander <mrylander@gmail.com>
Mon, 9 May 2016 21:28:44 +0000 (17:28 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/support-scripts/authority_authority_linker.pl.in
Open-ILS/src/support-scripts/authority_control_fields.pl.in

index d9ba725..7c1398f 100755 (executable)
@@ -181,7 +181,8 @@ while (my ($src, $links) = $sth->fetchrow_array) {
 
                 if ($target_string eq $src_string) {
                     print "got a match ...\n" if $options{debug};
-                    $field->update('0' => "($cni)$target");
+                    $field->delete_subfield(code => '0', match => qr/^\([^)]+\)\d+/);
+                    $field->add_subfields('0' => "($cni)$target");
                 }
             }
         }
index 64d32f9..bf94cdf 100755 (executable)
@@ -413,7 +413,7 @@ foreach my $rec_id (@records) {
                 # print $_->as_formatted(); 
 
                 if ($refresh and defined(scalar($bib_field->subfield('0')))) {
-                    $bib_field->delete_subfield(code => '0');
+                    $bib_field->delete_subfield(code => '0', match => qr/^\([^)]+\)\d+/);
                     $changed = 1;
                 }