def __init__(self, command, stdIOType, command_args=None, cwd=None, **kwargs): self.log = logging.getLogger(__name__) self.log.debug('foo') Callback.__init__(self) assert isinstance(stdIOType, list) self.timeout = kwargs['timeout'] self.commandSleepTime = kwargs['commandSleepTime'] self.stdIOType = stdIOType self.stdioData = deque() args = [command] if command_args: if not isinstance(command_args, list): command_args = [command_args] args.extend(command_args) # create configured process pipes prockwargs = dict() prockwargs['shell'] = False prockwargs['stdin'] = PIPE prockwargs['stdout'] = PIPE if STDIOTYPE.STDOUT in stdIOType else None prockwargs['stderr'] = PIPE if STDIOTYPE.STDERR in stdIOType else None prockwargs['cwd'] = cwd # create process self.proc = Popen(args, **prockwargs) # create process handler self.stdoutHandle = None if STDIOTYPE.STDOUT in stdIOType: self.stdoutHandle = _StdOutHandler(stdio=self.proc.stdout, lineWrapper=OutLineWrapper, **kwargs) self.stdoutHandle.register(self._newDataCallbackFnc) self.stderrHandle = None if STDIOTYPE.STDERR in stdIOType: self.stderrHandle = _StdOutHandler(stdio=self.proc.stderr, lineWrapper=ErrorLineWrapper, **kwargs) self.stderrHandle.register(self._newDataCallbackFnc) self.stdioHandle = [self.stdoutHandle, self.stderrHandle]
def __init__(self, **kwargs): self.log = logging.getLogger(__name__) self.log.debug('init with <%s>', kwargs) self.log.debug('call threading.Thread.__init__(self, target=self.run)') threading.Thread.__init__(self, target=self.run) self.log.debug('call Callback.__init__(self)') Callback.__init__(self) self.syncThreads = kwargs.get('syncThreads', False) self.commandSleepTime = kwargs['commandSleepTime'] self.timeout = kwargs['timeout'] self.stdio = kwargs['stdio'] self.lastDataTime = None
def __init__(self, **kwargs): self.log = logging.getLogger(__name__) self.log.debug("init with <%s>", kwargs) self.log.debug("call threading.Thread.__init__(self, target=self.run)") threading.Thread.__init__(self, target=self.run) self.log.debug("call Callback.__init__(self)") Callback.__init__(self) self.syncThreads = kwargs.get("syncThreads", False) self.commandSleepTime = kwargs["commandSleepTime"] self.timeout = kwargs["timeout"] self.stdio = kwargs["stdio"] self.lastDataTime = None
def __init__(self, lineWrapper=None, **kwargs): self.log = logging.getLogger(__name__) self.log.debug('start logging') Callback.__init__(self) self.lineWrapper = lineWrapper self.stdio = kwargs['stdio'] self.dataCallbackFnc = kwargs.get('dataCallbackFnc', None) #self.stdioData = deque() # setting stdio-file in non blocking mode fcntl.fcntl(self.stdio.fileno(), fcntl.F_SETFL, os.O_NONBLOCK) # create data thread and register data callback self.stdioThread = _DataThread(**kwargs) #self.stdioThread.register(self.stdioData.extend, self) self.stdioThread.register(self.storeData, self)
def __init__(self, lineWrapper=None, **kwargs): self.log = logging.getLogger(__name__) self.log.debug("start logging") Callback.__init__(self) self.lineWrapper = lineWrapper self.stdio = kwargs["stdio"] self.dataCallbackFnc = kwargs.get("dataCallbackFnc", None) # self.stdioData = deque() # setting stdio-file in non blocking mode fcntl.fcntl(self.stdio.fileno(), fcntl.F_SETFL, os.O_NONBLOCK) # create data thread and register data callback self.stdioThread = _DataThread(**kwargs) # self.stdioThread.register(self.stdioData.extend, self) self.stdioThread.register(self.storeData, self)
def __init__(self, command, stdIOType, command_args=None, cwd=None, **kwargs): self.log = logging.getLogger(__name__) self.log.debug("foo") Callback.__init__(self) assert isinstance(stdIOType, list) self.timeout = kwargs["timeout"] self.commandSleepTime = kwargs["commandSleepTime"] self.stdIOType = stdIOType self.stdioData = deque() args = [command] if command_args: if not isinstance(command_args, list): command_args = [command_args] args.extend(command_args) # create configured process pipes prockwargs = dict() prockwargs["shell"] = False prockwargs["stdin"] = PIPE prockwargs["stdout"] = PIPE if STDIOTYPE.STDOUT in stdIOType else None prockwargs["stderr"] = PIPE if STDIOTYPE.STDERR in stdIOType else None prockwargs["cwd"] = cwd # create process self.proc = Popen(args, **prockwargs) # create process handler self.stdoutHandle = None if STDIOTYPE.STDOUT in stdIOType: self.stdoutHandle = _StdOutHandler(stdio=self.proc.stdout, lineWrapper=OutLineWrapper, **kwargs) self.stdoutHandle.register(self._newDataCallbackFnc) self.stderrHandle = None if STDIOTYPE.STDERR in stdIOType: self.stderrHandle = _StdOutHandler(stdio=self.proc.stderr, lineWrapper=ErrorLineWrapper, **kwargs) self.stderrHandle.register(self._newDataCallbackFnc) self.stdioHandle = [self.stdoutHandle, self.stderrHandle]