Skip to content

Commit

Permalink
Bug 14766: Complete cataloguing plugin unimarc_field_4XX
Browse files Browse the repository at this point in the history
Add subfields l, n and o for better UNIMARC compliance

Signed-off-by: Chris Cormack <[email protected]>

Note: I just did a code audit here, as I don't know enough about
UNIMARC to know if the 4XX fields should have these subfields.

Signed-off-by: Jonathan Druart <[email protected]>
Signed-off-by: Tomas Cohen Arazi <[email protected]>
  • Loading branch information
PaulPoulain authored and tomascohen committed Sep 7, 2015
1 parent cbdd49e commit 503dd60
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
18 changes: 18 additions & 0 deletions cataloguing/value_builder/unimarc_field_4XX.pl
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,18 @@ sub plugin {
$subfield_value_i = $marcrecord->field('500')->subfield("i");
}

my $subfield_value_l;
$subfield_value_l = $marcrecord->field('200')->subfield("d")
if ( $marcrecord->field('200') );

my $subfield_value_n;
$subfield_value_n = $marcrecord->field('210')->subfield("c")
if ( $marcrecord->field('210') );

my $subfield_value_o;
$subfield_value_o = $marcrecord->field('200')->subfield("e")
if ( $marcrecord->field('200') );

my $subfield_value_p;
$subfield_value_p = $marcrecord->field('215')->subfield("a")
if ( $marcrecord->field('215') );
Expand Down Expand Up @@ -301,6 +313,9 @@ sub plugin {
$subfield_value_e =~ s/'/\\'/g;
$subfield_value_h =~ s/'/\\'/g;
$subfield_value_i =~ s/'/\\'/g;
$subfield_value_l =~ s/'/\\'/g;
$subfield_value_n =~ s/'/\\'/g;
$subfield_value_o =~ s/'/\\'/g;
$subfield_value_p =~ s/'/\\'/g;
$subfield_value_t =~ s/'/\\'/g;
$subfield_value_u =~ s/'/\\'/g;
Expand All @@ -319,6 +334,9 @@ sub plugin {
subfield_value_e => "$subfield_value_e",
subfield_value_h => "$subfield_value_h",
subfield_value_i => "$subfield_value_i",
subfield_value_l => "$subfield_value_l",
subfield_value_n => "$subfield_value_n",
subfield_value_o => "$subfield_value_o",
subfield_value_p => "$subfield_value_p",
subfield_value_t => "$subfield_value_t",
subfield_value_u => "$subfield_value_u",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,15 @@
if(code.value == 'i'){
subfield.value = "[% subfield_value_i |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
}
if(code.value == 'l'){
subfield.value = "[% subfield_value_l %]";
}
if(code.value == 'n'){
subfield.value = "[% subfield_value_n %]";
}
if(code.value == 'o'){
subfield.value = "[% subfield_value_o %]";
}
if(code.value == 'p'){
subfield.value = "[% subfield_value_p |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
}
Expand Down

0 comments on commit 503dd60

Please sign in to comment.