[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