Koha-Contrib-Sudoc
view release on metacpan or search on metacpan
bin/sudoc-trans view on Meta::CPAN
#!/usr/bin/perl
# PODNAME: sudoc-trans
# ABSTRACT: Service de transfert de fichiers ABES
use Modern::Perl;
use Sys::Syslog qw(:standard :macros);
use File::Copy;
use Mail::Box::Manager;
use YAML::Tiny qw/ LoadFile /;
my $root = $ENV{SUDOC};
unless ($root) {
say "Il manque la variable d'environnement SUDOC.";
exit;
}
my $c = LoadFile("$root/etc/sudoc.conf");
my $iln = $c->{iln};
$c = $c->{trans};
openlog("sudoc-trans-$iln", "ndelay,pid", LOG_LOCAL0);
syslog(LOG_INFO, "Démarrage du service de transfert ABES" );
chdir "$root/var/spool";
my $mgr = Mail::Box::Manager->new;
while (1) {
transfert_abes();
sleep $c->{timeout};
}
# FIN
# Envoi à l'ABES d'un email GTD en réponse à un message 'status 9'. Celui-ci
# contient le numéro du job
sub send_gtd {
my $content = shift;
# Récupération dans le courriel de l'ABES des info dont on a besoin pour
# construire la réponse
my ($jobid) = $content =~ /JobId\s*:\s*(\d*)/;
# La date
my $year = time();
(undef, undef, undef, undef, undef, $year) = localtime($year);
$year += 1900;
syslog(LOG_INFO, "Réception 'status 9'. Envoi GTD: ILN $iln, job $jobid, année $year" );
my $head = Mail::Message::Head->new;
$head->add( From => $c->{email}->{koha} );
$head->add( To => $c->{email}->{abes} );
$head->add( Subject => 'GET TITLE DATA' );
my $body = Mail::Message::Body::Lines->new(
data =>
"GTD_ILN = $iln\n" .
"GTD_YEAR = $year\n" .
"GTD_FILE_TO = " . $c->{ftp_host} . "\n" .
"GTD_ORDER = TR$jobid*\n" .
"GTD_REMOTE_DIR = staged\n",
);
my $message = Mail::Message->new(
head => $head,
( run in 1.108 second using v1.01-cache-2.11-cpan-0fb53d1c279 )