Koha-Contrib-Sudoc

 view release on metacpan or  search on metacpan

bin/sudoc  view on Meta::CPAN

#!/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 )