[Koha-patches] [PATCH] Bug 6001 : batchRebuildBiblioTables.pl doesn't crash anymore when GetMarcBiblio fails. Unprocessed biblionumbers are displayed at the end of the execution instead.
Chris Cormack
chrisc at catalyst.net.nz
Wed Mar 30 01:19:32 CEST 2011
From: Matthias Meusburger <matthias.meusburger at biblibre.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent at biblibre.com>
---
misc/batchRebuildBiblioTables.pl | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/misc/batchRebuildBiblioTables.pl b/misc/batchRebuildBiblioTables.pl
index b15a91a..ae4f54e 100755
--- a/misc/batchRebuildBiblioTables.pl
+++ b/misc/batchRebuildBiblioTables.pl
@@ -58,9 +58,14 @@ my $sth = $dbh->prepare("SELECT biblionumber FROM biblio");
$sth->execute;
# my ($biblionumbermax) = $sth->fetchrow;
# warn "$biblionumbermax <<==";
+my @errors;
while (my ($biblionumber)= $sth->fetchrow) {
#now, parse the record, extract the item fields, and store them in somewhere else.
my $record = GetMarcBiblio($biblionumber);
+ if (not defined $record) {
+ push @errors, $biblionumber;
+ next;
+ }
my @fields = $record->field($tagfield);
my @items;
my $nbitems=0;
@@ -82,6 +87,9 @@ while (my ($biblionumber)= $sth->fetchrow) {
# $dbh->do("unlock tables");
my $timeneeded = time() - $starttime;
print "$i MARC record done in $timeneeded seconds\n";
+if (scalar(@errors) > 0) {
+ print "Some biblionumber could not be processed though: ", join(" ", @errors);
+}
# modified NEWmodbiblio to jump the MARC part of the biblio modif
# highly faster
--
1.7.1
More information about the Koha-patches
mailing list