koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] CVS: koha/misc bulkmarcimport.pl,1.5,1.6


From: Paul POULAIN
Subject: [Koha-cvs] CVS: koha/misc bulkmarcimport.pl,1.5,1.6
Date: Fri, 12 Dec 2003 02:48:23 -0800

Update of /cvsroot/koha/koha/misc
In directory sc8-pr-cvs1:/tmp/cvs-serv24376/misc

Modified Files:
        bulkmarcimport.pl 
Log Message:
fixing bug in extended char import

Index: bulkmarcimport.pl
===================================================================
RCS file: /cvsroot/koha/koha/misc/bulkmarcimport.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** bulkmarcimport.pl   24 Nov 2003 17:15:55 -0000      1.5
--- bulkmarcimport.pl   12 Dec 2003 10:48:20 -0000      1.6
***************
*** 66,69 ****
--- 66,70 ----
        print "TESTING MODE ONLY\n    DOING NOTHING\n===============\n";
  }
+ 
  $char_encoding = 'MARC21' unless ($char_encoding);
  print "CHAR : $char_encoding\n" if $verbose;
***************
*** 79,85 ****
        $i++;
        #now, parse the record, extract the item fields, and store them in 
somewhere else.
!       $record = 
MARC::File::USMARC::decode(char_decode($record->as_usmarc(),$char_encoding));
!       warn "$i ==>".$record->as_formatted() if $verbose eq 2;
!       my @fields = $record->field($tagfield);
        my @items;
        my $nbitems=0;
--- 80,121 ----
        $i++;
        #now, parse the record, extract the item fields, and store them in 
somewhere else.
! 
! #     $record = 
MARC::File::USMARC::decode(char_decode($record->as_usmarc(),$char_encoding));
!     ## create an empty record object to populate
!     my $newRecord = MARC::Record->new();
! 
!     # go through each field in the existing record
!     foreach my $oldField ( $record->fields() ) {
! 
!       # just reproduce tags < 010 in our new record
!       if ( $oldField->tag() < 10 ) {
!           $newRecord->append_fields( $oldField );
!           next();
!       }
! 
!       # store our new subfield data in this list
!       my @newSubfields = ();
! 
!       # go through each subfield code/data pair
!       foreach my $pair ( $oldField->subfields() ) { 
!           # upper case the data portion and store
!           push( @newSubfields, $pair->[0], 
char_decode($pair->[1],$char_encoding) );
!       }
! 
!       # add the new field to our new record
!       my $newField = MARC::Field->new(
!           $oldField->tag(),
!           $oldField->indicator(1),
!           $oldField->indicator(2),
!           @newSubfields
!       );
! 
!       $newRecord->append_fields( $newField );
! 
!     }
! 
! 
!       warn "$i ==>".$newRecord->as_formatted() if $verbose eq 2;
!       my @fields = $newRecord->field($tagfield);
        my @items;
        my $nbitems=0;
***************
*** 95,99 ****
        # now, create biblio and items with NEWnewXX call.
        unless ($test_parameter) {
!               my ($bibid,$oldbibnum,$oldbibitemnum) = 
NEWnewbiblio($dbh,$record);
                warn "ADDED biblio NB $bibid in DB\n" if $verbose;
                for (my $i=0;$i<=$#items;$i++) {
--- 131,135 ----
        # now, create biblio and items with NEWnewXX call.
        unless ($test_parameter) {
!               my ($bibid,$oldbibnum,$oldbibitemnum) = 
NEWnewbiblio($dbh,$newRecord);
                warn "ADDED biblio NB $bibid in DB\n" if $verbose;
                for (my $i=0;$i<=$#items;$i++) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]