From: Andreas Frisch Date: Wed, 29 Oct 2008 09:09:25 +0000 (+0000) Subject: add eBatch function for running system commands sequentially X-Git-Tag: 2.6.0~682 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/70b53484f6ed9f68dce39547677d841d121bb590 add eBatch function for running system commands sequentially --- diff --git a/lib/python/Components/Console.py b/lib/python/Components/Console.py index c451eba7..b0348240 100644 --- a/lib/python/Components/Console.py +++ b/lib/python/Components/Console.py @@ -25,6 +25,21 @@ class Console(object): if retval: self.finishedCB(name, retval) + def eBatch(self, cmds, callback, debug=False): + self.debug = debug + cmd = cmds.pop(0) + self.ePopen(cmd, self.eBatchCB, [cmds, callback, cmd]) + + def eBatchCB(self, data, retval, extra_args): + (cmds, callback, lastcmd) = extra_args + if self.debug: + print '[eBatch] cmd="%s", retval=%s, cmds left=%d, data:\n%s' % (lastcmd, retval, len(cmds), data) + if len(cmds): + cmd = cmds.pop(0) + self.ePopen(cmd, self.eBatchCB, [cmds, callback, cmd]) + else: + callback() + def dataAvailCB(self, name, data): self.appResults[name] += data