Code

Move "exec_check" to nagixsc.py
[nagixsc.git] / nagixsc.py
index 21fc9a85009f732559eabb7b54cbcab505e1db97..d65aa09591406e85d9fbde3c1e79206433e5859b 100644 (file)
@@ -1,6 +1,8 @@
 import base64
 import datetime
 import libxml2
+import shlex
+import subprocess
 import sys
 
 def debug(level, verb, string):
@@ -28,6 +30,20 @@ def encode(data, encoding=None):
                return base64.b64encode(data)
 
 
+##############################################################################
+
+def exec_check(host_name, service_descr, cmdline):
+       try:
+               cmd     = subprocess.Popen(shlex.split(cmdline), stdout=subprocess.PIPE)
+               output  = cmd.communicate()[0].rstrip()
+               retcode = cmd.returncode
+       except OSError:
+               output  = 'Could not execute "%s"' % cmdline
+               retcode = 127
+
+       return {'host_name':host_name, 'service_description':service_descr, 'returncode':retcode, 'output':output, 'timestamp':datetime.datetime.now().strftime('%s')}
+
+
 ##############################################################################
 
 def read_xml(options):