X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FConsole.py;h=a41317eabc2b66c2d7f1159e760a6412038ae0b9;hb=8932edecb7854241f2213d1ba77c629eff5aab85;hp=136d10d089586f7392f8dc8dc67758658389458d;hpb=bf85c027880227646227e9f4ffc658e81eae5c69;p=vuplus_dvbapp diff --git a/lib/python/Components/Console.py b/lib/python/Components/Console.py old mode 100644 new mode 100755 index 136d10d..a41317e --- a/lib/python/Components/Console.py +++ b/lib/python/Components/Console.py @@ -21,7 +21,9 @@ class Console(object): self.appContainers[name] = eConsoleAppContainer() self.appContainers[name].dataAvail.append(boundFunction(self.dataAvailCB,name)) self.appContainers[name].appClosed.append(boundFunction(self.finishedCB,name)) - retval = self.appContainers[name].execute(cmd) + if isinstance(cmd, str): # until .execute supports a better api + cmd = [cmd] + retval = self.appContainers[name].execute(*cmd) if retval: self.finishedCB(name, retval) @@ -53,3 +55,12 @@ class Console(object): if self.callbacks[name]: self.callbacks[name](data,retval,extra_args) del self.callbacks[name] + + def kill(self,name): + if name in self.appContainers: + print "[Console] killing: ",self.appContainers[name] + self.appContainers[name].kill() + + def killAll(self): + for name in self.appContainers: + self.kill(name)