From f00cc0f285012ebe01c806732f188cb36f3e7a14 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 14 Dec 2012 07:31:00 -0500 Subject: [PATCH] Bug 9286 - Add script to add a bib to the zebra queue from the command line Signed-off-by: Bernardo Gonzalez Kriegel Comment: No test plan, but works. Tested adding auth, biblios or both, then rebuilding -z No errors. Signed-off-by: Chris Cormack 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 --- misc/mod_zebraqueue.pl | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100755 misc/mod_zebraqueue.pl diff --git a/misc/mod_zebraqueue.pl b/misc/mod_zebraqueue.pl new file mode 100755 index 0000000..0c5c9a7 --- /dev/null +++ b/misc/mod_zebraqueue.pl @@ -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 -- 1.8.1.2