From 6262edd11b4f495ca45323a101801c7209ce5adc Mon Sep 17 00:00:00 2001 From: Chronial Date: Sat, 17 Aug 2019 00:16:02 +0200 Subject: [PATCH] Handle errors in snapraid diff --- snapraid-runner.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/snapraid-runner.py b/snapraid-runner.py index 8695b55..71d87c4 100644 --- a/snapraid-runner.py +++ b/snapraid-runner.py @@ -45,7 +45,7 @@ def tee_log(infile, out_lines, log_level): return t -def snapraid_command(command, args={}, ignore_errors=False): +def snapraid_command(command, args={}, *, allow_statuscodes=[]): """ Run snapraid command Raises subprocess.CalledProcessError if errorlevel != 0 @@ -68,7 +68,7 @@ def snapraid_command(command, args={}, ignore_errors=False): ret = p.wait() # sleep for a while to make pervent output mixup time.sleep(0.3) - if ret == 0 or ignore_errors: + if ret == 0 or ret in allow_statuscodes: return out else: raise subprocess.CalledProcessError(ret, "snapraid " + command) @@ -259,7 +259,7 @@ def run(): logging.info("*" * 60) logging.info("Running diff...") - diff_out = snapraid_command("diff", ignore_errors=True) + diff_out = snapraid_command("diff", allow_statuscodes=[2]) logging.info("*" * 60) diff_results = Counter(line.split(" ")[0] for line in diff_out)