Removing duplicate syspref
[koha.git] / misc / stage_biblios_file.pl
index cf140c2..5518359 100755 (executable)
@@ -21,11 +21,13 @@ my $add_items = 0;
 my $input_file = "";
 my $batch_comment = "";
 my $want_help = 0;
+my $no_replace ;
 
 my $result = GetOptions(
     'file:s'        => \$input_file,
     'match-bibs:s'    => \$match_bibs,
     'add-items'     => \$add_items,
+    'no-replace'    => \$no_replace,
     'comment:s'     => \$batch_comment,
     'h|help'        => \$want_help
 );
@@ -74,16 +76,20 @@ sub process_batch {
 
     my $num_with_matches = 0;
     if ($match_bibs) {
-       my $matcher = C4::Matcher->fetch($match_bibs) ;
-       if( ! defined $matcher) {
-               $matcher = C4::Matcher->new('biblio');
-               $matcher->add_simple_matchpoint('isbn', 1000, '020', 'a', -1, 0, '');
-               $matcher->add_simple_required_check('245', 'a', -1, 0, '', 
+        my $matcher = C4::Matcher->fetch($match_bibs) ;
+        if (! defined $matcher) {
+            $matcher = C4::Matcher->new('biblio');
+            $matcher->add_simple_matchpoint('isbn', 1000, '020', 'a', -1, 0, '');
+            $matcher->add_simple_required_check('245', 'a', -1, 0, '', 
                                             '245', 'a', -1, 0, '');
-     } else {
-                SetImportBatchMatcher($batch_id, $match_bibs);
-       }
-       print "... looking for matches with records already in database\n";
+        } else {
+            SetImportBatchMatcher($batch_id, $match_bibs);
+        }
+        # set default record overlay behavior
+        SetImportBatchOverlayAction($batch_id, ($no_replace) ? 'ignore' : 'replace');
+        SetImportBatchNoMatchAction($batch_id, 'create_new');
+        SetImportBatchItemAction($batch_id, 'always_add');
+        print "... looking for matches with records already in database\n";
         $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, 10, 100, \&print_progress_and_commit);
         print "... finished looking for matches\n";
     }
@@ -137,11 +143,13 @@ Parameters:
     --match-bibs <match_id> use this option to match bibs
                             in the file with bibs already in 
                             the database for future overlay.
-                           If <match_id> isn't defined, a default 
-                           MARC21 ISBN & title match rule will be applied.
+                            If <match_id> isn't defined, a default 
+                            MARC21 ISBN & title match rule will be applied.
     --add-items             use this option to specify that
                             item data is embedded in the MARC
                             bibs and should be parsed.
+    --no-replace            overlay action for bib record: default is to 
+                            replace extant bib with the imported record.
     --comment <comment>     optional comment to describe
                             the record batch; if the comment
                             has spaces in it, surround the