From 31ff64b53736c0fae8525d34b3116af3c67bb5b1 Mon Sep 17 00:00:00 2001 From: John Garland Date: Fri, 2 Mar 2012 12:54:33 +1100 Subject: [PATCH] Execute: log stdout/stderr when command fails --- deluge/plugins/Execute/deluge/plugins/execute/core.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/deluge/plugins/Execute/deluge/plugins/execute/core.py b/deluge/plugins/Execute/deluge/plugins/execute/core.py index 5a9fc3526..ebd6447c5 100644 --- a/deluge/plugins/Execute/deluge/plugins/execute/core.py +++ b/deluge/plugins/Execute/deluge/plugins/execute/core.py @@ -37,7 +37,7 @@ import os import time import hashlib import logging -from twisted.internet.utils import getProcessValue +from twisted.internet.utils import getProcessOutputAndValue from deluge.plugins.pluginbase import CorePluginBase import deluge.component as component @@ -112,9 +112,14 @@ class Core(CorePluginBase): log.debug("[execute] Running commands for %s", event) - def log_error(exit_code, command): + def log_error(result, command): + (stdout, stderr, exit_code) = result if exit_code: log.warn("[execute] command '%s' failed with exit code %d", command, exit_code) + if stdout: + log.warn("[execute] stdout: %s", stdout) + if stderr: + log.warn("[execute] stderr: %s", stderr) # Go through and execute all the commands for command in self.config["commands"]: @@ -122,7 +127,7 @@ class Core(CorePluginBase): command = os.path.expandvars(command[EXECUTE_COMMAND]) command = os.path.expanduser(command) log.debug("[execute] running %s", command) - d = getProcessValue(command, (torrent_id, torrent_name, save_path), env=os.environ) + d = getProcessOutputAndValue(command, (torrent_id, torrent_name, save_path), env=os.environ) d.addCallback(log_error, command) def disable(self):