Koha-Contrib-Sudoc
view release on metacpan or search on metacpan
#!/usr/bin/perl
# PODNAME: sudoc
# ABSTRACT: Commande de chargement des notices SUDOC
use Modern::Perl;
use utf8;
use Getopt::Long;
use Koha::Contrib::Sudoc;
use Koha::Contrib::Sudoc::TransferDaemon;
use Koha::Contrib::Sudoc::Loader::Biblios;
use Koha::Contrib::Sudoc::Loader::Authorities;
my ($doit);
GetOptions(
'doit' => \$doit,
);
unless (@ARGV) {
say "Usage : sudoc init|gtd|trans|chargeauto|spool|biblio|autorité";
exit;
}
my $sudoc = Koha::Contrib::Sudoc->new;
my $cmd = shift @ARGV;
if ( $cmd =~ /init/i ) {
$sudoc->init();
}
elsif ( $cmd =~ /gtd/i ) {
$sudoc->send_gtd_email($sudoc->c->{loading}->{jobid}, 'waiting');
}
elsif ( $cmd =~ /get/i ) {
$sudoc->get();
}
elsif ( $cmd =~ /trans/i ) {
my $daemon = Koha::Contrib::Sudoc::TransferDaemon->new();
$daemon->start;
}
elsif ( $cmd =~ /chargeauto/i ) {
my $loading = $sudoc->c->{loading};
$sudoc->send_gtd_email($loading->{jobid});
# Attente raisonnable que l'ABES envoie les fichiers
sleep($loading->{timeout}->{transfer} * 60);
# Si mode GET, on va chercher les fichiers
$sudoc->get();
$sudoc->spool->staged_to_waiting();
$sudoc->load_waiting();
}
elsif ( $cmd =~ /spool/i ) {
$sudoc->spool->command(@ARGV);
}
elsif ( $cmd =~ /biblio|autori/i ) {
my $files = $sudoc->spool->first_batch_files(
'waiting',
$cmd =~ /biblio/ ? '[a|b]' : 'c'
);
unless ($files) {
say "Pas de fichier à charger";
exit;
}
for my $file (@$files) {
( run in 2.590 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )