Merge remote-tracking branch 'origin/new/bug_7818'
[koha.git] / misc / migration_tools / bulkauthimport.pl
index 76aa6eb..2709db9 100755 (executable)
@@ -2,6 +2,7 @@
 # small script that import an iso2709 file into koha 2.0
 
 use strict;
+#use warnings; FIXME - Bug 2505
 BEGIN {
     # find Koha's Perl modules
     # test carefully before changing this
@@ -27,7 +28,7 @@ my ($version, $delete, $test_parameter,$char_encoding, $verbose, $format, $commi
 $| = 1;
 GetOptions(
     'file:s'    => \$input_marc_file,
-    'n' => \$number,
+    'n:i' => \$number,
     'h' => \$version,
     'd' => \$delete,
     't' => \$test_parameter,
@@ -121,10 +122,10 @@ RECORD: while ( my $record = $batch->next() ) {
         $authtypecode="CORPO_NAME" if ($record->field('110'));
         $authtypecode="MEETI_NAME" if ($record->field('111'));
         $authtypecode="UNIF_TITLE" if ($record->field('130'));
-        $authtypecode="CHRON_TERM" if ($record->field('148'));
-        $authtypecode="TOPIC_TERM" if ($record->field('150'));
-        $authtypecode="GEOGR_NAME" if ($record->field('151'));
-        $authtypecode="GENRE/FORM" if ($record->field('155'));
+        $authtypecode="CHRON_TERM" if ($record->field('148') or $record->field('182'));
+        $authtypecode="TOPIC_TERM" if ($record->field('150') or $record->field('180'));
+        $authtypecode="GEOGR_NAME" if ($record->field('151') or $record->field('181'));
+        $authtypecode="GENRE/FORM" if ($record->field('155') or $record->field('185'));
         next unless $authtypecode; # skip invalid records FIXME: far too simplistic
     }
     else {
@@ -144,8 +145,10 @@ RECORD: while ( my $record = $batch->next() ) {
         warn "ADDED authority NB $authid in DB\n" if $verbose;
         $dbh->commit() if (0 == $i % $commitnum);
     }
+
+    last if $i ==  $number;
 }
 $dbh->commit();
 
 my $timeneeded = gettimeofday - $starttime;
-print "$i MARC record done in $timeneeded seconds\n";
+print "\n$i MARC record done in $timeneeded seconds\n";