Bug 12288: fix search errors with AggressiveMatchOnISBN turned on
authorKyle M Hall <kyle@bywatersolutions.com>
Mon, 19 May 2014 12:37:28 +0000 (08:37 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 19 May 2014 20:02:38 +0000 (20:02 +0000)
This patch fixes a problem where search errors like this in the logs when
running a stage import with the AggressiveMatchOnISBN syspref turned on:

search failed (isbn,phr=978-0-7517-9745-9 or isbn,phr=0-7517-9745-6 or
isbn,phr=978-0-7517-9745-9 or isbn,phr=0751797456 or
isbn,phr=9780751797459 or isbn,phr=978-0-7517-9759-6 or
isbn,phr=0-7517-9759-6 or isbn,phr=978-0-7517-9759-6 or
isbn,phr=0751797596 or isbn,phr=9780751797596 or isbn,phr= or
isbn,phr= or isbn,phr= or isbn,phr= or isbn,phr=) CCL parsing
error (10014) Search word expected ZOOM at
/usr/share/koha/lib/C4/Matcher.pm line 688.

This is most easily seen when running the script from command line
/misc/stage_file.pl.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
C4/Koha.pm

index 1061a78..8dd513d 100644 (file)
@@ -1640,6 +1640,9 @@ sub GetVariationsOfISBN {
     push( @isbns, NormalizeISBN({ isbn => $isbn, format => 'ISBN-10', strip_hyphens => 1 }) );
     push( @isbns, NormalizeISBN({ isbn => $isbn, format => 'ISBN-13', strip_hyphens => 1 }) );
 
+    # Strip out any "empty" strings from the array
+    @isbns = grep { /\S/ } @isbns;
+
     return wantarray ? @isbns : join( " | ", @isbns );
 }