Merge remote branch 'dm/experimental' into vuplus_experimental
[vuplus_dvbapp] / lib / python / Screens / PluginBrowser.py
index 69bf80f..d423f46 100755 (executable)
@@ -155,9 +155,9 @@ class PluginDownloadBrowser(Screen):
        def runInstall(self, val):
                if val:
                        if self.type == self.DOWNLOAD:
-                               self.session.openWithCallback(self.installFinished, Console, cmdlist = ["ipkg install " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
+                               self.session.openWithCallback(self.installFinished, Console, cmdlist = ["opkg install " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
                        elif self.type == self.REMOVE:
-                               self.session.openWithCallback(self.installFinished, Console, cmdlist = ["ipkg remove " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
+                               self.session.openWithCallback(self.installFinished, Console, cmdlist = ["opkg remove " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
 
        def setWindowTitle(self):
                if self.type == self.DOWNLOAD:
@@ -166,17 +166,17 @@ class PluginDownloadBrowser(Screen):
                        self.setTitle(_("Remove plugins"))
 
        def startIpkgListInstalled(self):
-               self.container.execute("ipkg list_installed enigma2-plugin-*")
+               self.container.execute("opkg list_installed enigma2-plugin-*")
 
        def startIpkgListAvailable(self):
-               self.container.execute("ipkg list enigma2-plugin-*")
+               self.container.execute("opkg list enigma2-plugin-*")
 
        def startRun(self):
                self["list"].instance.hide()
                if self.type == self.DOWNLOAD:
                        if not PluginDownloadBrowser.lastDownloadDate or (time() - PluginDownloadBrowser.lastDownloadDate) > 3600:
                                # Only update from internet once per hour
-                               self.container.execute("ipkg update")
+                               self.container.execute("opkg update")
                                PluginDownloadBrowser.lastDownloadDate = time()
                        else:
                                self.startIpkgListAvailable()
@@ -220,8 +220,8 @@ class PluginDownloadBrowser(Screen):
                        self.remainingdata = ""
 
                for x in lines:
-                       plugin = x.split(" - ", 2)
-                       if len(plugin) == 3:
+                       plugin = x.split(" - ")
+                       if len(plugin) >= 2:
                                if self.run == 1 and self.type == self.DOWNLOAD:
                                        if plugin[0] not in self.installedplugins:
                                                self.installedplugins.append(plugin[0])
@@ -239,6 +239,13 @@ class PluginDownloadBrowser(Screen):
                
                self.plugins = {}
                for x in self.pluginlist:
+                       if len(x) < 4:
+                               split = x[0].split('-',3)
+                               if not self.plugins.has_key(split[2]):
+                                       self.plugins[split[2]] = []
+                               self.plugins[split[2]].append((PluginDescriptor(name = x[2], description = " ", icon = verticallineIcon), split[3]))
+                               continue
+
                        split = x[3].split('-', 1)
                        if len(split) < 2:
                                continue
@@ -256,4 +263,4 @@ class PluginDownloadBrowser(Screen):
                self.list = list
                self["list"].l.setList(list)
 
-language.addCallback(languageChanged)
\ No newline at end of file
+language.addCallback(languageChanged)