projects
/
koha.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Variable redeclared in same scope
[koha.git]
/
C4
/
Breeding.pm
diff --git
a/C4/Breeding.pm
b/C4/Breeding.pm
index
dde6d3c
..
2b73729
100644
(file)
--- a/
C4/Breeding.pm
+++ b/
C4/Breeding.pm
@@
-13,21
+13,28
@@
package C4::Breeding;
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along
with
-#
Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place
,
-#
Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+#
with Koha; if not, write to the Free Software Foundation, Inc.
,
+#
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
use strict;
+use warnings;
+
use C4::Biblio;
use C4::Koha;
use C4::Biblio;
use C4::Koha;
+use C4::Charset;
use MARC::File::USMARC;
use C4::ImportBatch;
use MARC::File::USMARC;
use C4::ImportBatch;
-require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-# set the version for version checking
-$VERSION = 0.01;
+BEGIN {
+ # set the version for version checking
+ $VERSION = 0.02;
+ require Exporter;
+ @ISA = qw(Exporter);
+ @EXPORT = qw(&ImportBreeding &BreedingSearch);
+}
=head1 NAME
=head1 NAME
@@
-54,12
+61,6
@@
C4::Breeding : module to add biblios to import_records via
ImportBreeding import MARC records in the reservoir (import_records/import_batches tables).
the records can be properly encoded or not, we try to reencode them in utf-8 if needed.
works perfectly with BNF server, that sends UNIMARC latin1 records. Should work with other servers too.
ImportBreeding import MARC records in the reservoir (import_records/import_batches tables).
the records can be properly encoded or not, we try to reencode them in utf-8 if needed.
works perfectly with BNF server, that sends UNIMARC latin1 records. Should work with other servers too.
- the FixEncoding sub is in Koha.pm, as it's a general usage sub.
-
-=cut
-
-@ISA = qw(Exporter);
-@EXPORT = qw(&ImportBreeding &BreedingSearch);
=head2 ImportBreeding
=head2 ImportBreeding
@@
-87,7
+88,7
@@
sub ImportBreeding {
# FIXME -- not sure that this kind of checking is actually needed
my $searchbreeding = $dbh->prepare("select import_record_id from import_biblios where isbn=? and title=?");
# FIXME -- not sure that this kind of checking is actually needed
my $searchbreeding = $dbh->prepare("select import_record_id from import_biblios where isbn=? and title=?");
- $encoding = C4::Context->preference("marcflavour") unless $encoding;
+
#
$encoding = C4::Context->preference("marcflavour") unless $encoding;
# fields used for import results
my $imported=0;
my $alreadyindb = 0;
# fields used for import results
my $imported=0;
my $alreadyindb = 0;
@@
-95,8
+96,11
@@
sub ImportBreeding {
my $notmarcrecord = 0;
my $breedingid;
for (my $i=0;$i<=$#marcarray;$i++) {
my $notmarcrecord = 0;
my $breedingid;
for (my $i=0;$i<=$#marcarray;$i++) {
- my $marcrecord = FixEncoding($marcarray[$i]."\x1D");
-
+ my ($marcrecord, $charset_result, $charset_errors);
+ ($marcrecord, $charset_result, $charset_errors) =
+ MarcToUTF8Record($marcarray[$i]."\x1D", C4::Context->preference("marcflavour"), $encoding);
+
+# warn "$i : $marcarray[$i]";
# FIXME - currently this does nothing
my @warnings = $marcrecord->warnings();
# FIXME - currently this does nothing
my @warnings = $marcrecord->warnings();
@@
-107,9
+111,7
@@
sub ImportBreeding {
# if isbn found and biblio does not exist, add it. If isbn found and biblio exists,
# overwrite or ignore depending on user choice
# drop every "special" char : spaces, - ...
# if isbn found and biblio does not exist, add it. If isbn found and biblio exists,
# overwrite or ignore depending on user choice
# drop every "special" char : spaces, - ...
- $oldbiblio->{isbn} =~ s/\(.*$//;
- $oldbiblio->{isbn} =~ tr/ -_//;
- $oldbiblio->{isbn} = uc $oldbiblio->{isbn};
+ $oldbiblio->{isbn} = C4::Koha::_isbn_cleanup($oldbiblio->{isbn}); # FIXME C4::Koha::_isbn_cleanup should be public
# search if biblio exists
my $biblioitemnumber;
if ($oldbiblio->{isbn}) {
# search if biblio exists
my $biblioitemnumber;
if ($oldbiblio->{isbn}) {
@@
-121,7
+123,7
@@
sub ImportBreeding {
($biblioitemnumber) = $searchissn->fetchrow;
}
}
($biblioitemnumber) = $searchissn->fetchrow;
}
}
- if ($biblioitemnumber) {
+ if ($biblioitemnumber
&& $overwrite_biblio ne 2
) {
$alreadyindb++;
} else {
# FIXME - in context of batch load,
$alreadyindb++;
} else {
# FIXME - in context of batch load,
@@
-213,5
+215,6
@@
sub BreedingSearch {
return($count, @results);
} # sub breedingsearch
return($count, @results);
} # sub breedingsearch
+1;
+__END__
-END { } # module clean-up code here (global destructor)