Bug 9286 - Add script to add a bib to the zebra queue from the command line
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 14 Dec 2012 12:31:00 +0000 (07:31 -0500)
committerGalen Charlton <gmc@esilibrary.com>
Tue, 28 May 2013 15:00:15 +0000 (08:00 -0700)
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: No test plan, but works.
Tested adding auth, biblios or both, then rebuilding -z
No errors.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Test Plan

1/ run misc/mod_zebraqueue.pl -a 1
2/ In your koha db
SELECT * FROM zebraqueue WHERE done = 0;
Check that a row for authority record id 1 has been inserted
3/ run misc/mod_zebraqueue.pl -b 1
4/ In your koha db
SELECT * FROM zebraqueue WHERE done = 0;
Check that a row for biblio record id 1 has been inserted
5/ run misc/mod_zebraqueue.pl
Make sure the help is sensible
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
misc/mod_zebraqueue.pl [new file with mode: 0755]

diff --git a/misc/mod_zebraqueue.pl b/misc/mod_zebraqueue.pl
new file mode 100755 (executable)
index 0000000..0c5c9a7
--- /dev/null
@@ -0,0 +1,84 @@
+#!/usr/bin/perl
+
+# Copyright 2012 Kyle M Hall
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# 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
+
+# script to add records to the zebraqueue from the commandline.
+
+use Modern::Perl;
+
+use Getopt::Long;
+use Pod::Usage;
+
+use C4::Biblio;
+
+my @biblios;
+my @authorities;
+my $help;
+my $verbose;
+
+GetOptions(
+    "b|biblio|biblionumber=s"       => \@biblios,
+    "a|authority|authoritynumber=s" => \@authorities,
+    'h|?|help'                      => \$help,
+    'v|verbose'                     => \$verbose,
+);
+
+pod2usage( -exitval => 0 ) if ( $help || !( @biblios || @authorities ) );
+
+foreach my $biblionumber (@biblios) {
+    print "Adding bibliographic record $biblionumber to Zebra queue\n" if ($verbose);
+    ModZebra( $biblionumber, "specialUpdate", "biblioserver" );
+}
+
+foreach my $authority (@authorities) {
+    print "Adding authority record $authority to Zebra queue\n" if ($verbose);
+    ModZebra( $authority, 'specialUpdate', "authorityserver" );
+}
+
+__END__
+
+=head1 NAME
+
+mod_zebraqueue.pl - Mark bibliographic and/or authority records for updating via the zebraqueue.
+
+=head1 SYNOPSIS
+
+mod_zebraqueue.pl -v -b $bib1 -b $bib2 -a $authority1 -a $authority2
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-b, --biblio, --biblionumber>
+
+The biblionumber of a record to be updated, repeatable.
+
+=item B<-a, --authority, --authoritynumber>
+
+The authoritynumber of the record to be updated, repeatable.
+
+=item B<-h, -?, --help>
+
+Prints this help message and exits.
+
+=item B<-v, --verbose>
+
+Be verbose
+
+=back
+
+=cut