mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-21 04:42:46 +00:00
add option to disable stdout/stderr redirection for shell provider
This commit is contained in:
parent
0b4c5b9cb9
commit
caac9b4950
@ -81,6 +81,7 @@ class MirrorConfig(object):
|
||||
local_dir=self.local_dir,
|
||||
log_dir=self.log_dir,
|
||||
log_file=self.log_file,
|
||||
log_stdout=self.options.get("log_stdout", True),
|
||||
interval=self.interval,
|
||||
hooks=hooks
|
||||
)
|
||||
|
@ -106,12 +106,13 @@ class RsyncProvider(MirrorProvider):
|
||||
class ShellProvider(MirrorProvider):
|
||||
|
||||
def __init__(self, name, command, upstream_url, local_dir, log_dir,
|
||||
log_file="/dev/null", interval=120, hooks=[]):
|
||||
log_file="/dev/null", log_stdout=True, interval=120, hooks=[]):
|
||||
|
||||
super(ShellProvider, self).__init__(name, local_dir, log_dir, log_file,
|
||||
interval, hooks)
|
||||
self.upstream_url = str(upstream_url)
|
||||
self.command = shlex.split(command)
|
||||
self.log_stdout = log_stdout
|
||||
|
||||
def run(self, ctx={}):
|
||||
|
||||
@ -128,8 +129,13 @@ class ShellProvider(MirrorProvider):
|
||||
_args = [] if len(self.command) == 1 else self.command[1:]
|
||||
|
||||
cmd = sh.Command(_cmd)
|
||||
self.p = cmd(*_args, _env=new_env, _out=log_file,
|
||||
_err=log_file, _out_bufsize=1, _bg=True)
|
||||
|
||||
if self.log_stdout:
|
||||
self.p = cmd(*_args, _env=new_env, _out=log_file,
|
||||
_err=log_file, _out_bufsize=1, _bg=True)
|
||||
else:
|
||||
self.p = cmd(*_args, _env=new_env, _out='/dev/null',
|
||||
_err='/dev/null', _out_bufsize=1, _bg=True)
|
||||
|
||||
|
||||
# vim: ts=4 sw=4 sts=4 expandtab
|
||||
|
Loading…
x
Reference in New Issue
Block a user