Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • a0bf4d37db9aa73ed228946d217b59109c2864f4
  • master par défaut
  • cinch
  • ruby
  • gh-pages
  • v1.0.0
6 résultats

downloader.pm

Blame
  • downloader.pm 1,08 Kio
    package sessions::downloader;
    
    use strict;
    use warnings;
    
    use JSON;
    use POE;
    
    use lib "$FindBin::Bin/lib/";
    use utils::Logging;
    use sessions::downloader::ddl;
    
    my $log = Logging->new('STDOUT', 1);
    
    local $/;
    open CONF, '<', 'playbot.conf';
    my $json = <CONF>;
    my $conf = decode_json($json);
    
    if ($conf->{download})
    {
        POE::Session->create(
            inline_states   => {
                _start          => \&on_start,
                ddl             => \&sessions::downloader::ddl::exec,
                filename        => \&sessions::downloader::ddl::filename,
                signal_filename => \&sessions::downloader::ddl::signal_filename,
                signal_ddl      => \&sessions::downloader::ddl::signal_ddl,
                signal_move     => \&sessions::downloader::ddl::signal_move,
                signal_rm       => \&sessions::downloader::ddl::signal_rm,
                end_task        => \&sessions::downloader::ddl::end_task,
            },
        );
    }
    
    
    sub on_start {
        my ($kernel, $heap) = @_[KERNEL, HEAP];
        $kernel->alias_set('downloader');
        $heap->{ddl}->{tasks} = [];
    
        $log->info("session started");
    }
    
    1;