X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ba1b105a176e5f62faf9d6d1f4c1a4c19764a2e4..c479beea7cc338380a38e29ae041c03b2c299ac1:/lib/python/Components/Ipkg.py diff --git a/lib/python/Components/Ipkg.py b/lib/python/Components/Ipkg.py index 25e19797..dbc99653 100644 --- a/lib/python/Components/Ipkg.py +++ b/lib/python/Components/Ipkg.py @@ -1,6 +1,6 @@ from enigma import eConsoleAppContainer -class Ipkg: +class IpkgComponent: EVENT_INSTALL = 0 EVENT_DOWNLOAD = 1 EVENT_INFLATING = 2 @@ -35,25 +35,24 @@ class Ipkg: print "executing", self.ipkg, cmd self.cmd.execute(self.ipkg + " " + cmd) - def cmdFetchList(self, installed_only = False): - self.fetchedList = [] - if installed_only: - self.runCmd("list_installed") - else: - self.runCmd("list") - self.setCurrentCommand(self.CMD_LIST) - - def cmdUpgrade(self, test_only = False): - append = "" - if test_only: - append = " -test" - self.runCmd("upgrade" + append) - self.setCurrentCommand(self.CMD_UPGRADE) - - def cmdUpdate(self): - self.runCmd("update") - self.setCurrentCommand(self.CMD_UPDATE) - + def startCmd(self, cmd, args = None): + if cmd == self.CMD_UPDATE: + self.runCmd("update") + elif cmd == self.CMD_UPGRADE: + append = "" + if args["test_only"]: + append = " -test" + self.runCmd("upgrade" + append) + elif cmd == self.CMD_LIST: + self.fetchedList = [] + if args['installed_only']: + self.runCmd("list_installed") + else: + self.runCmd("list") + elif cmd == self.CMD_INSTALL: + self.runCmd("install " + args['package']) + self.setCurrentCommand(cmd) + def cmdFinished(self, retval): self.callCallbacks(self.EVENT_DONE) @@ -104,4 +103,10 @@ class Ipkg: self.callbackList.append(callback) def getFetchedList(self): - return self.fetchedList \ No newline at end of file + return self.fetchedList + + def stop(self): + self.cmd.kill() + + def isRunning(self): + return self.cmd.running()