aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/Console.py15
1 files changed, 15 insertions, 0 deletions
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