diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-02-14 20:40:05 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-02-14 20:40:05 +0000 |
| commit | 8c2a83d6b2a60b2bd408ccdc6d5afd6da506912f (patch) | |
| tree | c382ddc39fdc759befd9e281bcc011e1dd579e9d /lib/python/Components/Ipkg.py | |
| parent | 6f73e6abddf4170357c490966d0e1c622eb376f5 (diff) | |
| download | enigma2-8c2a83d6b2a60b2bd408ccdc6d5afd6da506912f.tar.gz enigma2-8c2a83d6b2a60b2bd408ccdc6d5afd6da506912f.zip | |
unlink some cyclic dependencys to get garbage collection working
Diffstat (limited to 'lib/python/Components/Ipkg.py')
| -rw-r--r-- | lib/python/Components/Ipkg.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/python/Components/Ipkg.py b/lib/python/Components/Ipkg.py index eac26428..361b136a 100644 --- a/lib/python/Components/Ipkg.py +++ b/lib/python/Components/Ipkg.py @@ -22,10 +22,7 @@ class IpkgComponent: self.ipkg = ipkg self.cmd = eConsoleAppContainer() - self.cmd.appClosed.get().append(self.cmdFinished) - self.cmd.dataAvail.get().append(self.cmdData) self.cache = None - self.callbackList = [] self.setCurrentCommand() @@ -34,8 +31,11 @@ class IpkgComponent: def runCmd(self, cmd): print "executing", self.ipkg, cmd - self.cmd.execute(self.ipkg + " " + cmd) - + self.cmd.appClosed.get().append(self.cmdFinished) + self.cmd.dataAvail.get().append(self.cmdData) + if self.cmd.execute(self.ipkg + " " + cmd): + self.cmdFinished(-1) + def startCmd(self, cmd, args = None): if cmd == self.CMD_UPDATE: self.runCmd("update") @@ -56,7 +56,9 @@ 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) + def cmdData(self, data): print "data:", data if self.cache is None: |
