X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FBreeding.pm;h=2b737290ef508e667d91e7ad384acf2bd17d1fe0;hb=08c2668ee218e162af099de7dffa724624e04ac5;hp=7e8ca8afac79cd52b40fd69b4d94fdcdb88bb897;hpb=b5a106078808677b538291266efa791365ec0db8;p=koha.git diff --git a/C4/Breeding.pm b/C4/Breeding.pm index 7e8ca8afac..2b737290ef 100644 --- a/C4/Breeding.pm +++ b/C4/Breeding.pm @@ -13,13 +13,16 @@ 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. # -# 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 warnings; + use C4::Biblio; use C4::Koha; +use C4::Charset; use MARC::File::USMARC; use C4::ImportBatch; @@ -58,7 +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. - the FixEncoding sub is in Koha.pm, as it's a general usage sub. =head2 ImportBreeding @@ -94,9 +96,11 @@ sub ImportBreeding { my $notmarcrecord = 0; my $breedingid; for (my $i=0;$i<=$#marcarray;$i++) { - my $marcrecord = FixEncoding($marcarray[$i]."\x1D",$encoding); + my ($marcrecord, $charset_result, $charset_errors); + ($marcrecord, $charset_result, $charset_errors) = + MarcToUTF8Record($marcarray[$i]."\x1D", C4::Context->preference("marcflavour"), $encoding); + # warn "$i : $marcarray[$i]"; -# warn "FixEncoding : ".$marcrecord->as_formatted; # 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, - ... - $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}) {