Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
[enigma2.git] / lib / python / Components / Ipkg.py
index 361b136a8718f175334e51863c3890e2e2b89ec1..31889bcf0ecae0532c004f1a1b1c0404b7f1d96e 100644 (file)
@@ -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)
 
@@ -56,8 +56,8 @@ class IpkgComponent:
        
        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
@@ -98,7 +98,10 @@ class IpkgComponent:
                                self.callCallbacks(self.EVENT_ERROR, None)
                        elif data.find('ipkg_download: ERROR:') == 0:
                                self.callCallbacks(self.EVENT_ERROR, None)
-                       elif data.find('    Configuration file') == 0:
+                       elif data.find('    Configuration file \'') >= 0:
+                               # Note: the config file update question doesn't end with a newline, so
+                               # if we get multiple config file update questions, the next ones
+                               # don't necessarily start at the beginning of a line
                                self.callCallbacks(self.EVENT_MODIFIED, data.split(' \'', 1)[1][:-1])
 
        def callCallbacks(self, event, param = None):