X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FIpkg.py;h=cc5596577a4bab196cbe2e85f25957e51226a24d;hb=e0d8ce8d7dc7239ff353f09c15b739f1b969cdfb;hp=79389b4df0ee30aa99bd03845ab87cf966e2b298;hpb=3d8ffc3281925011e894d57a9f51423736ee891a;p=vuplus_dvbapp diff --git a/lib/python/Components/Ipkg.py b/lib/python/Components/Ipkg.py old mode 100644 new mode 100755 index 79389b4..cc55965 --- a/lib/python/Components/Ipkg.py +++ b/lib/python/Components/Ipkg.py @@ -1,4 +1,5 @@ from enigma import eConsoleAppContainer +from Tools.Directories import fileExists class IpkgComponent: EVENT_INSTALL = 0 @@ -18,9 +19,8 @@ class IpkgComponent: CMD_UPDATE = 3 CMD_UPGRADE = 4 - def __init__(self, ipkg = '/usr/bin/ipkg'): + def __init__(self, ipkg = 'opkg'): self.ipkg = ipkg - self.cmd = eConsoleAppContainer() self.cache = None self.callbackList = [] @@ -31,8 +31,8 @@ class IpkgComponent: def runCmd(self, cmd): print "executing", self.ipkg, cmd - self.cmd.appClosed.get().append(self.cmdFinished) - self.cmd.dataAvail.get().append(self.cmdData) + self.cmd.appClosed.append(self.cmdFinished) + self.cmd.dataAvail.append(self.cmdData) if self.cmd.execute(self.ipkg + " " + cmd): self.cmdFinished(-1) @@ -52,12 +52,14 @@ class IpkgComponent: self.runCmd("list") elif cmd == self.CMD_INSTALL: self.runCmd("install " + args['package']) + elif cmd == self.CMD_REMOVE: + self.runCmd("remove " + args['package']) self.setCurrentCommand(cmd) def cmdFinished(self, retval): self.callCallbacks(self.EVENT_DONE) - self.cmd.appClosed.get().remove(self.cmdFinished) - self.cmd.dataAvail.get().remove(self.cmdData) + self.cmd.appClosed.remove(self.cmdFinished) + self.cmd.dataAvail.remove(self.cmdData) def cmdData(self, data): print "data:", data @@ -87,9 +89,11 @@ class IpkgComponent: if data.find('Downloading') == 0: self.callCallbacks(self.EVENT_DOWNLOAD, data.split(' ', 5)[1].strip()) elif data.find('Upgrading') == 0: - self.callCallbacks(self.EVENT_UPGRADE, data.split(' ', 1)[1].split(' ')[0]) + self.callCallbacks(self.EVENT_UPGRADE, data.split(' ', 1)[1].split(' ')[0]) elif data.find('Installing') == 0: self.callCallbacks(self.EVENT_INSTALL, data.split(' ', 1)[1].split(' ')[0]) + elif data.find('Removing') == 0: + self.callCallbacks(self.EVENT_REMOVE, data.split(' ', 1)[1].split(' ')[1]) elif data.find('Configuring') == 0: self.callCallbacks(self.EVENT_CONFIGURING, data.split(' ', 1)[1].split(' ')[0]) elif data.find('An error occurred') == 0: