Summary: | stage-marc-import.pl does not show warning messages on MARC error | ||
---|---|---|---|
Product: | Koha | Reporter: | Barton Chittenden <barton> |
Component: | MARC Bibliographic record staging/import | Assignee: | Galen Charlton <gmcharlt> |
Status: | NEW --- | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | barton |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Attachments: | Example data -- a marc-utf8 file with errors |
Description
Barton Chittenden
2015-11-30 15:41:27 UTC
Created attachment 45231 [details]
Example data -- a marc-utf8 file with errors
The attached file throws the following message in intranet-error.log:
stage-marc-import.pl: Argument "1 15" isn't numeric in integer addition (+) at /usr/share/perl5/MARC/File/USMARC.pm line 166.
Inspecting that code, I see
156 # Check directory validity
157 ($tagno =~ /^[0-9A-Za-z]{3}$/)
158 or $marc->_warn( "Invalid tag in directory $location: \"$tagno\"" );
159
160 ($len =~ /^\d{4}$/)
161 or $marc->_warn( "Invalid length in directory $location tag $tagno: \"$len\"" );
162
163 ($offset =~ /^\d{5}$/)
164 or $marc->_warn( "Invalid offset in directory $location tag $tagno: \"$offset\"" );
165
166 ($offset + $len <= $reclen)
167 or $marc->_warn( "Directory entry $location runs off the end of the record tag $tagno" );
The two elements in the addition in line 166 are $offset and $len. The argument "1 15" doesn't match the regular expression for either $len (^\d{4}$) nor $offset (^\d{5}$), so it should have triggered one of the $marc->_warn methods, but these warnings are not sent to intranet-error.log nor to the screen.
|