Lines 27-32
use C4::AuthoritiesMarc::MARC21;
Link Here
|
27 |
use C4::AuthoritiesMarc::UNIMARC; |
27 |
use C4::AuthoritiesMarc::UNIMARC; |
28 |
use C4::Charset; |
28 |
use C4::Charset; |
29 |
use C4::Log; |
29 |
use C4::Log; |
|
|
30 |
use C4::Debug; |
30 |
use Koha::Authority; |
31 |
use Koha::Authority; |
31 |
|
32 |
|
32 |
use vars qw($VERSION @ISA @EXPORT); |
33 |
use vars qw($VERSION @ISA @EXPORT); |
Lines 85-91
sub _findLocalAuth {
Link Here
|
85 |
$rs = $ctn->search(new ZOOM::Query::CCL2RPN(C4::Context->preference('rameauBnfIdIndex') . '=' . $id, $ctn)); |
86 |
$rs = $ctn->search(new ZOOM::Query::CCL2RPN(C4::Context->preference('rameauBnfIdIndex') . '=' . $id, $ctn)); |
86 |
}; |
87 |
}; |
87 |
if ($@) { |
88 |
if ($@) { |
88 |
print "Error searching\n"; |
89 |
$debug and warn "Error searching"; |
89 |
return -1; |
90 |
return -1; |
90 |
} |
91 |
} |
91 |
if ($rs && $rs->size() == 1) { |
92 |
if ($rs && $rs->size() == 1) { |
Lines 133-139
sub addInternalLinks {
Link Here
|
133 |
if (my $kohaauthid = _findLocalAuth($subfield->[1])) { |
134 |
if (my $kohaauthid = _findLocalAuth($subfield->[1])) { |
134 |
if ($kohaauthid != -1) { |
135 |
if ($kohaauthid != -1) { |
135 |
$found_authid = $kohaauthid; |
136 |
$found_authid = $kohaauthid; |
136 |
print "Adding authid $kohaauthid\n"; |
137 |
$debug and warn "Adding authid $kohaauthid"; |
137 |
} |
138 |
} |
138 |
} |
139 |
} |
139 |
} |
140 |
} |
Lines 149-162
sub rameauProcessing {
Link Here
|
149 |
my $marcrecord = shift @_; |
150 |
my $marcrecord = shift @_; |
150 |
my $update = 0; |
151 |
my $update = 0; |
151 |
|
152 |
|
|
|
153 |
# Getting biblionumber |
154 |
my ($bntag, $bnsubf) = GetMarcFromKohaField('biblio.biblionumber', ''); |
155 |
my $biblionumber; |
156 |
if (defined $bnsubf && $bnsubf ne "@") { |
157 |
$biblionumber = $marcrecord->subfield($bntag, $bnsubf); |
158 |
} else { |
159 |
if (defined $marcrecord->field($bntag)) { |
160 |
$biblionumber = $marcrecord->field($bntag)->data(); |
161 |
} |
162 |
} |
163 |
|
152 |
my @rameauFields = (600, 601, 602, 606, 607); |
164 |
my @rameauFields = (600, 601, 602, 606, 607); |
153 |
foreach my $tag (@rameauFields) { |
165 |
foreach my $tag (@rameauFields) { |
154 |
foreach my $field ($marcrecord->field($tag)) { |
166 |
foreach my $field ($marcrecord->field($tag)) { |
155 |
if (isRameau($field)) { |
167 |
if (isRameau($field)) { |
156 |
if ($marcrecord->field('001')) { |
168 |
if (defined $biblionumber) { |
157 |
print "Merging Rameau for biblionumber " . $marcrecord->field('001')->data() . " field $tag\n"; |
169 |
$debug and warn "Merging Rameau for biblionumber $biblionumber field $tag"; |
158 |
} else { |
170 |
} else { |
159 |
print "Merging Rameau for an unknown biblionumber field $tag\n"; |
171 |
$debug and warn "Merging Rameau for an unknown biblionumber field $tag"; |
160 |
} |
172 |
} |
161 |
addRameau($field); |
173 |
addRameau($field); |
162 |
addInternalLinks($field); |
174 |
addInternalLinks($field); |
163 |
- |
|
|