From 70b53484f6ed9f68dce39547677d841d121bb590 Mon Sep 17 00:00:00 2001 From: Andreas Frisch Date: Wed, 29 Oct 2008 09:09:25 +0000 Subject: [PATCH] add eBatch function for running system commands sequentially --- lib/python/Components/Console.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 -- 2.30.2