aboutsummaryrefslogtreecommitdiff
path: root/scripts/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/utils.py')
-rw-r--r--scripts/utils.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/scripts/utils.py b/scripts/utils.py
index 2c20262..e3038e4 100644
--- a/scripts/utils.py
+++ b/scripts/utils.py
@@ -54,28 +54,25 @@ def build_conf_map():
except KeyError:
pass
-
-def callsubprocess(process_name, process, show_output = True, regular = "",
- env=os.environ):
+def callsubprocess(process_name, process, show_output = True,
+ return_output = False, env=os.environ, allowed_exit_codes = [0]):
sprc = subprocess.Popen(process, stdout = subprocess.PIPE, env = env)
- rtn = ""
with open(os.path.join(sf(conf.log_folder),
process_name + '-' + time.strftime("%y-%m-%d-%H-%M-%S") + ".log"),
"a") as f:
- f.write('::' + time.strftime("%y-%m-%d-%H-%M-%S-%f") + '::')
+ f.write('::' + time.strftime("%y-%m-%d-%H-%M-%S-%f") + '::\n')
for linen in sprc.stdout:
line = linen.decode(sys.getdefaultencoding())
f.write(line)
if show_output:
print(line, end="")
- if re.search(regular, line):
- rtn += line
+ if return_output:
+ rtn.append(line.rstrip())
rtncode = sprc.wait()
- if rtncode != 0:
+ if rtncode not in allowed_exit_codes:
raise exceptions.ProcessFailed(process, rtncode)
-
return rtn
def get_kernel_env():