123456789101112131415161718192021222324252627282930313233 |
- import subprocess
- import os
- from core.NeuronModule import NeuronModule
- class ScriptNotFound(Exception):
- pass
- class ScriptNotExecutable(Exception):
- pass
- class Script(NeuronModule):
- def __init__(self, **kwargs):
- # get message to spell out loud
- super(Script, self).__init__(**kwargs)
- script_path = kwargs.get('path', "")
- # test that the file exist and is executable
- if self.is_exe(script_path):
- p = subprocess.Popen(script_path, stdout=subprocess.PIPE, shell=True)
- (output, err) = p.communicate()
- def is_exe(self, fpath):
- returned_value = True
- if not os.path.isfile(fpath):
- raise ScriptNotFound()
- if not os.access(fpath, os.X_OK):
- raise ScriptNotExecutable()
- return returned_value
|