From ac7c93632579d0d438b3b3dbdfe8453b79147d61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Fri, 3 Mar 2023 14:13:08 +0100 Subject: [PATCH] [add] lib:shell_command --- source/logic/checks/script.py | 17 +++++++---------- source/logic/lib.py | 12 ++++++++++++ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/source/logic/checks/script.py b/source/logic/checks/script.py index 3acc4c1..b8338d2 100644 --- a/source/logic/checks/script.py +++ b/source/logic/checks/script.py @@ -39,17 +39,14 @@ class implementation_check_kind_script(interface_check_kind): [implementation] ''' def run(self, parameters): - result = _subprocess.run( - [parameters["path"]] + parameters["arguments"], - capture_output = True - ) - if (result.returncode == 0): + result = shell_command([parameters["path"]] + parameters["arguments"]) + if (result.return_code == 0): condition = enum_condition.ok - elif (result.returncode == 1): + elif (result.return_code == 1): condition = enum_condition.unknown - elif (result.returncode == 2): + elif (result.return_code == 2): condition = enum_condition.warning - elif (result.returncode == 3): + elif (result.return_code == 3): condition = enum_condition.critical else: # raise ValueError("invalid exit code: %i" % result.returncode) @@ -57,8 +54,8 @@ class implementation_check_kind_script(interface_check_kind): return { "condition": condition, "info": { - "stdout": result.stdout.decode(), - "stderr": result.stderr.decode(), + "stdout": result.stdout, + "stderr": result.stderr, }, } diff --git a/source/logic/lib.py b/source/logic/lib.py index 11f946e..9ad64bb 100644 --- a/source/logic/lib.py +++ b/source/logic/lib.py @@ -47,3 +47,15 @@ def env_get_language(): except Exception as error: return None + +def shell_command(command): + result = _subprocess.run( + command, + capture_output = True + ) + return { + "return_code": result.returncode, + "stdout": result.stdout.decode(), + "stderr": result.stderr.decode(), + } +