Koha-Contrib-Sudoc
view release on metacpan or search on metacpan
lib/Koha/Contrib/Sudoc.pm view on Meta::CPAN
package Koha::Contrib::Sudoc;
# ABSTRACT: Chargeur Koha par Tamil
$Koha::Contrib::Sudoc::VERSION = '2.49';
use Moose;
use Modern::Perl;
use YAML qw( LoadFile Dump );
use Koha::Contrib::Sudoc::Koha;
use Koha::Contrib::Sudoc::Spool;
use MARC::Moose::Field::Std;
use MARC::Moose::Field::Control;
use File::Copy;
use Path::Tiny;
use Mail::Box::Manager;
use DateTime;
use File::ShareDir ':ALL';
use Net::FTP;
use Net::SFTP::Foreign;
# L'instance de Koha de l'ILN courant
has koha => (
is => 'rw',
isa => 'Koha::Contrib::Sudoc::Koha',
default => sub { Koha::Contrib::Sudoc::Koha->new() }
);
# La racine de l'environnement d'exécution du chargeur
has root => (
is => 'rw',
isa => 'Str',
default => sub {
my $self = shift;
my $root = $ENV{SUDOC};
unless ($root) {
say "Il manque la variable d'environnement SUDOC.";
exit;
}
unless ( -d $root ) {
say "variable d'environnement SUDOC=$root";
say "Ce répertoire n'existe pas. Il faut le créer, puis initialiser le chargeur si nécessaire.";
exit;
}
unshift @INC, "$root/lib";
$self->root( $root );
},
);
# Le contenu du fichier de config
has c => ( is => 'rw', );
# Le Spool
has spool => ( is => 'rw', isa => 'Koha::Contrib::Sudoc::Spool' );
sub BUILD {
my $self = shift;
# Lecture du fichier de config et création du hash branchcode => RCR par ILN
my $file = $self->root . "/etc/sudoc.conf";
return unless -e $file;
my $c = LoadFile($file);
my %branchcode;
while ( my ($rcr, $branch) = each %{$c->{rcr}} ) {
$branchcode{$branch} = $rcr;
( run in 1.532 second using v1.01-cache-2.11-cpan-ceb78f64989 )