From ca9c188e3ca01e246e7f53db8b66d9db586daf74 Mon Sep 17 00:00:00 2001 From: Claire Wolf Date: Fri, 8 May 2020 18:49:08 +0200 Subject: [PATCH] Add silent mode to SbyTask Signed-off-by: Claire Wolf --- sbysrc/sby_core.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sbysrc/sby_core.py b/sbysrc/sby_core.py index d3b0b1e..b62d5f7 100644 --- a/sbysrc/sby_core.py +++ b/sbysrc/sby_core.py @@ -46,7 +46,7 @@ def process_filename(filename): return filename class SbyTask: - def __init__(self, job, info, deps, cmdline, logfile=None, logstderr=True): + def __init__(self, job, info, deps, cmdline, logfile=None, logstderr=True, silent=False): self.running = False self.finished = False self.terminated = False @@ -74,6 +74,7 @@ class SbyTask: self.notify = [] self.linebuffer = "" self.logstderr = logstderr + self.silent = silent self.job.tasks_pending.append(self) @@ -111,7 +112,8 @@ class SbyTask: if self.job.opt_wait and not timeout: return if self.running: - self.job.log("{}: terminating process".format(self.info)) + if not self.silent: + self.job.log("{}: terminating process".format(self.info)) if os.name == "posix": os.killpg(self.p.pid, signal.SIGTERM) self.p.terminate() @@ -128,7 +130,8 @@ class SbyTask: if not dep.finished: return - self.job.log("{}: starting process \"{}\"".format(self.info, self.cmdline)) + if not self.silent: + self.job.log("{}: starting process \"{}\"".format(self.info, self.cmdline)) if os.name == "posix": def preexec_fn(): @@ -162,14 +165,16 @@ class SbyTask: self.handle_output(outs) if self.p.poll() is not None: - self.job.log("{}: finished (returncode={})".format(self.info, self.p.returncode)) + if not self.silent: + self.job.log("{}: finished (returncode={})".format(self.info, self.p.returncode)) self.job.tasks_running.remove(self) all_tasks_running.remove(self) self.running = False if self.p.returncode == 127: self.job.status = "ERROR" - self.job.log("{}: COMMAND NOT FOUND. ERROR.".format(self.info)) + if not self.silent: + self.job.log("{}: COMMAND NOT FOUND. ERROR.".format(self.info)) self.terminated = True self.job.terminate() return @@ -178,7 +183,8 @@ class SbyTask: if self.checkretcode and self.p.returncode != 0: self.job.status = "ERROR" - self.job.log("{}: job failed. ERROR.".format(self.info)) + if not self.silent: + self.job.log("{}: job failed. ERROR.".format(self.info)) self.terminated = True self.job.terminate() return -- 2.30.2