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