mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] allow to use a journal for hook exec
This commit is contained in:
parent
08b7c4f6d7
commit
1355b2b754
1 changed files with 13 additions and 6 deletions
|
@ -297,7 +297,7 @@ def hook_callback(action, hooks=[], args=None, no_trace=False, chdir=None,
|
||||||
|
|
||||||
|
|
||||||
def hook_exec(path, args=None, raise_on_error=False, no_trace=False,
|
def hook_exec(path, args=None, raise_on_error=False, no_trace=False,
|
||||||
chdir=None, env=None, user="admin"):
|
chdir=None, env=None, journal=None, user="admin"):
|
||||||
"""
|
"""
|
||||||
Execute hook from a file with arguments
|
Execute hook from a file with arguments
|
||||||
|
|
||||||
|
@ -359,11 +359,18 @@ def hook_exec(path, args=None, raise_on_error=False, no_trace=False,
|
||||||
else:
|
else:
|
||||||
logger.info(m18n.n('executing_script', script=path))
|
logger.info(m18n.n('executing_script', script=path))
|
||||||
|
|
||||||
# Define output callbacks and call command
|
if journal is None:
|
||||||
callbacks = (
|
# Define output callbacks and call command
|
||||||
lambda l: logger.info(l.rstrip()),
|
callbacks = (
|
||||||
lambda l: logger.warning(l.rstrip()),
|
lambda l: logger.info(l.rstrip()),
|
||||||
)
|
lambda l: logger.warning(l.rstrip()),
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
callbacks = journal.as_callbacks_tuple(
|
||||||
|
stdout=lambda l: logger.info(l.rstrip()),
|
||||||
|
stderr=lambda l: logger.warning(l.rstrip()),
|
||||||
|
)
|
||||||
|
|
||||||
returncode = call_async_output(
|
returncode = call_async_output(
|
||||||
command, callbacks, shell=False, cwd=chdir
|
command, callbacks, shell=False, cwd=chdir
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue