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;