From a0bf4d37db9aa73ed228946d217b59109c2864f4 Mon Sep 17 00:00:00 2001 From: Alexandre Morignot <erdnaxeli@cervoi.se> Date: Tue, 18 Aug 2015 22:23:17 +0200 Subject: [PATCH] download can be activated in configuration file --- README.md | 17 +++++++++++++++++ lib/sessions/downloader.pm | 33 +++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 43bea82..ff7c183 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,23 @@ PlayBot est codé en Perl. Il dépend des modules suivant : Il utilise de plus la librairie Python [Weboob](http://weboob.org). +Debian : ++ libpoe-component-irc-perl ++ libpoe-component-irker-perl ++ libdbi-perl ++ libdbd-mysql-perl ++ libjson-perl ++ libmoose-perl ++ libwww-perl ++ liburi-find-perl ++ libinline-perl ++ python-dev ++ libxml2-dev ++ libxslt-dev ++ cpan : + + Module::Reload + + Inline::Python ++ from source : weboob ### Configuration diff --git a/lib/sessions/downloader.pm b/lib/sessions/downloader.pm index 6283921..9758e9d 100644 --- a/lib/sessions/downloader.pm +++ b/lib/sessions/downloader.pm @@ -3,6 +3,7 @@ package sessions::downloader; use strict; use warnings; +use JSON; use POE; use lib "$FindBin::Bin/lib/"; @@ -11,18 +12,26 @@ use sessions::downloader::ddl; my $log = Logging->new('STDOUT', 1); -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, - }, -); +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 { -- GitLab