Bug 35142: Remove GetNormalizedOCLCNumber, oclc_number, strip_orgcode

All callers migrated. Removes dead code:

- C4::Koha::GetNormalizedOCLCNumber
- Koha::Util::MARC::oclc_number
- Koha::Util::MARC::strip_orgcode
- Koha::Util::MARC::OCLC_REGEX constant

Test plan:
   $ prove t/Koha/Util/MARC.t t/db_dependent/Koha.t

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Assisted-by: Sonnet 4.6 (Anthropic)
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
This commit is contained in:
Tomás Cohen Arazi 2026-06-19 17:36:31 -03:00 committed by Pedro Amorim
parent 263a1bd536
commit 5fb7fd5f2d
No known key found for this signature in database
GPG Key ID: 06B75BA7F3894D55
5 changed files with 3 additions and 88 deletions

View File

@ -36,7 +36,6 @@ BEGIN {
GetNormalizedUPC
GetNormalizedISBN
GetNormalizedEAN
GetNormalizedOCLCNumber
xml_escape
GetVariationsOfISBN
@ -705,33 +704,6 @@ sub GetNormalizedEAN {
}
}
=head2 GetNormalizedOCLCNumber
Missing POD for GetNormalizedOCLCNumber.
=cut
sub GetNormalizedOCLCNumber {
my ( $marcrecord, $marcflavour ) = @_;
return unless $marcrecord;
$marcflavour ||= C4::Context->preference('marcflavour');
if ( $marcflavour ne 'UNIMARC' ) {
my @fields = $marcrecord->field('035');
foreach my $field (@fields) {
my $oclc = $field->subfield('a');
if ( $oclc && $oclc =~ /OCoLC/ ) {
$oclc =~ s/\(OCoLC\)//;
return $oclc;
}
}
} else {
# TODO for UNIMARC
}
}
sub _normalize_match_point {
my $match_point = shift;
( my $normalized_match_point ) = $match_point =~ /([\d-]*[X]*)/;

View File

@ -19,8 +19,6 @@ package Koha::Util::MARC;
use Modern::Perl;
use constant OCLC_REGEX => qr/OCoLC/i; # made it case insensitive, includes the various oclc suffixes too
=head1 NAME
Koha::Util::MARC - utility class with routines for working with MARC records
@ -249,39 +247,4 @@ sub find_marc_info {
return $rv[0] if @rv;
}
=head2 strip_orgcode
my $id = strip_orgcode( '(code) 123' ); # returns '123'
Strips from starting left paren to first right paren and trailing whitespace.
=cut
sub strip_orgcode {
my $arg = shift;
$arg =~ s/^\([^)]*\)\s*// if $arg;
return $arg;
}
=head2 oclc_number
my $id = oclc_number( $record );
Based on applying strip_orgcode on first occurrence of find_marc_info
with orgcode matching regex in 035$a.
=cut;
sub oclc_number {
my $record = shift;
return strip_orgcode(
scalar find_marc_info(
{
# Note: Field 035 same for MARC21 and UNIMARC
record => $record, field => '035', subfield => 'a', match => OCLC_REGEX,
}
)
);
}
1;

View File

@ -105,7 +105,6 @@ unless ( $patron and $patron->category->override_hidden_items ) {
my $record = $biblio->metadata->record;
my @items = $biblio->items->filter_by_visible_in_opac( { patron => $patron } )->as_list;
my $record_processor = Koha::RecordProcessor->new(
{
filters => [ 'EmbedItems', 'ViewPolicy' ],

View File

@ -44,8 +44,8 @@ subtest 'set_marc_field' => sub {
is( $subfields[0], 'foobaz', 'Subfield value has been changed' );
};
subtest 'find_marc_info, strip_orgcode, oclc_number' => sub {
plan tests => 9;
subtest 'find_marc_info' => sub {
plan tests => 4;
my $record = MARC::Record->new;
$record->append_fields(
@ -90,19 +90,4 @@ subtest 'find_marc_info, strip_orgcode, oclc_number' => sub {
);
is_deeply( \@list, [ '(change)456', '(change) 567' ], '035a, match, list' );
@list = map { Koha::Util::MARC::strip_orgcode($_) } @list;
is_deeply( \@list, [ '456', '567' ], 'strip the orgcodes' );
@list = map { Koha::Util::MARC::strip_orgcode($_) } ( '() a', '(a)(b) c', '(abc', ' (a)b' );
is_deeply( \@list, [ 'a', '(b) c', '(abc', ' (a)b' ], 'edge cases for strip_orgcode' );
is( Koha::Util::MARC::oclc_number(), undef, 'No arg for oclc_number' );
$record->append_fields(
MARC::Field->new( '035', '', '', a => '(OCoLC) 678' ),
);
is( Koha::Util::MARC::oclc_number($record), '678', 'orgcode mixed case' );
$record->insert_fields_ordered(
MARC::Field->new( '035', '', '', a => '(ocolc) 789' ),
);
is( Koha::Util::MARC::oclc_number($record), '789', 'orgcode lower case' );
};

View File

@ -173,7 +173,7 @@ subtest 'Authorized Values Tests' => sub {
};
subtest 'isbn tests' => sub {
plan tests => 33;
plan tests => 32;
my $isbn13 = "9780330356473";
my $isbn13D = "978-0-330-35647-3";
@ -288,10 +288,6 @@ subtest 'isbn tests' => sub {
C4::Koha::GetNormalizedEAN(), undef,
'GetNormalizedEAN should return undef if no record and no isbn are passed'
);
is(
C4::Koha::GetNormalizedOCLCNumber(), undef,
'GetNormalizedOCLCNumber should return undef if no record and no isbn are passed'
);
is( C4::Koha::GetNormalizedISBN('979-8-88650-962-5'), '9798886509625', 'Test GetNormalizedISBN' );