[add] lib:shell_command

This commit is contained in:
Christian Fraß 2023-03-03 14:13:08 +01:00
parent 2d35cea269
commit ac7c936325
2 changed files with 19 additions and 10 deletions

View file

@ -39,17 +39,14 @@ class implementation_check_kind_script(interface_check_kind):
[implementation] [implementation]
''' '''
def run(self, parameters): def run(self, parameters):
result = _subprocess.run( result = shell_command([parameters["path"]] + parameters["arguments"])
[parameters["path"]] + parameters["arguments"], if (result.return_code == 0):
capture_output = True
)
if (result.returncode == 0):
condition = enum_condition.ok condition = enum_condition.ok
elif (result.returncode == 1): elif (result.return_code == 1):
condition = enum_condition.unknown condition = enum_condition.unknown
elif (result.returncode == 2): elif (result.return_code == 2):
condition = enum_condition.warning condition = enum_condition.warning
elif (result.returncode == 3): elif (result.return_code == 3):
condition = enum_condition.critical condition = enum_condition.critical
else: else:
# raise ValueError("invalid exit code: %i" % result.returncode) # raise ValueError("invalid exit code: %i" % result.returncode)
@ -57,8 +54,8 @@ class implementation_check_kind_script(interface_check_kind):
return { return {
"condition": condition, "condition": condition,
"info": { "info": {
"stdout": result.stdout.decode(), "stdout": result.stdout,
"stderr": result.stderr.decode(), "stderr": result.stderr,
}, },
} }

View file

@ -47,3 +47,15 @@ def env_get_language():
except Exception as error: except Exception as error:
return None 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(),
}