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 )