Koha/misc/batchdeletebiblios.pl
Martin Renvoize d2e189ca1c Bug 22600: Set 'commandline' interface appropriately
This patch change Koha::Cron to be a more generic Koha::Script class and
update all commanline driven scripts to use it.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-10 19:43:11 +00:00

91 lines
2 KiB
Perl
Executable file

#!/usr/bin/perl
use Modern::Perl;
use Getopt::Long;
use Pod::Usage;
use IO::File;
use Koha::Script;
use C4::Biblio;
my ($help, $files);
GetOptions(
'h|help' => \$help,
);
pod2usage(1) if $help or not @ARGV;
for my $file ( @ARGV ) {
say "Find biblionumber in file $file";
my $fh;
open($fh, '<', $file) or say "Error: '$file' $!" and next;
while ( <$fh> ) {
my $biblionumber = $_;
$biblionumber =~ s/$1/\n/g if $biblionumber =~ m/(\r\n?|\n\r?)/;
chomp $biblionumber;
my $dbh = C4::Context->dbh;
next if not $biblionumber =~ /^\d*$/;
print "Delete biblionumber $biblionumber ";
my $error;
eval {
$error = DelBiblio $biblionumber;
};
if ( $@ or $error) {
say "KO $@ ($! | $error)";
} else {
say "OK";
}
}
}
exit(0);
__END__
=head1 NAME
batchdeletebiblios.pl
=head1 SYNOPSIS
./batchdeletebiblio.pl file1 [file2 ... filen]
This script batch deletes biblios which contain a biblionumber present in file passed in parameter.
If one biblio has items, it is not deleted.
=head1 OPTIONS
=over 8
=item B<-h|--help>
prints this help message
=back
=head1 AUTHOR
Jonathan Druart <jonathan.druart@biblibre.com>
=head1 COPYRIGHT
Copyright 2012 BibLibre
=head1 LICENSE
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.
You should have received a copy of the GNU General Public License along
with Koha; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
=head1 DISCLAIMER OF WARRANTY
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.
=cut