projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support turbo2.
[vuplus_dvbapp]
/
lib
/
python
/
Screens
/
PluginBrowser.py
diff --git
a/lib/python/Screens/PluginBrowser.py
b/lib/python/Screens/PluginBrowser.py
index
69bf80f
..
0f7148a
100755
(executable)
--- a/
lib/python/Screens/PluginBrowser.py
+++ b/
lib/python/Screens/PluginBrowser.py
@@
-46,6
+46,12
@@
class PluginBrowser(Screen):
self["SoftwareActions"].setEnabled(False)
self.onFirstExecBegin.append(self.checkWarnings)
self.onShown.append(self.updateList)
self["SoftwareActions"].setEnabled(False)
self.onFirstExecBegin.append(self.checkWarnings)
self.onShown.append(self.updateList)
+ self.onLayoutFinish.append(self.saveListsize)
+
+ def saveListsize(self):
+ listsize = self["list"].instance.size()
+ self.listWidth = listsize.width()
+ self.listHeight = listsize.height()
def checkWarnings(self):
if len(plugins.warnings):
def checkWarnings(self):
if len(plugins.warnings):
@@
-64,7
+70,7
@@
class PluginBrowser(Screen):
def updateList(self):
self.pluginlist = plugins.getPlugins(PluginDescriptor.WHERE_PLUGINMENU)
def updateList(self):
self.pluginlist = plugins.getPlugins(PluginDescriptor.WHERE_PLUGINMENU)
- self.list = [PluginEntryComponent(plugin) for plugin in self.pluginlist]
+ self.list = [PluginEntryComponent(plugin
, self.listWidth
) for plugin in self.pluginlist]
self["list"].l.setList(self.list)
if fileExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/SoftwareManager/plugin.py")):
self["red"].setText(_("Manage extensions"))
self["list"].l.setList(self.list)
if fileExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/SoftwareManager/plugin.py")):
self["red"].setText(_("Manage extensions"))
@@
-155,9
+161,9
@@
class PluginDownloadBrowser(Screen):
def runInstall(self, val):
if val:
if self.type == self.DOWNLOAD:
def runInstall(self, val):
if val:
if self.type == self.DOWNLOAD:
- self.session.openWithCallback(self.installFinished, Console, cmdlist = ["
i
pkg install " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
+ self.session.openWithCallback(self.installFinished, Console, cmdlist = ["
o
pkg install " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
elif self.type == self.REMOVE:
elif self.type == self.REMOVE:
- self.session.openWithCallback(self.installFinished, Console, cmdlist = ["
i
pkg remove " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
+ self.session.openWithCallback(self.installFinished, Console, cmdlist = ["
o
pkg remove " + "enigma2-plugin-" + self["list"].l.getCurrentSelection()[0].name])
def setWindowTitle(self):
if self.type == self.DOWNLOAD:
def setWindowTitle(self):
if self.type == self.DOWNLOAD:
@@
-166,17
+172,20
@@
class PluginDownloadBrowser(Screen):
self.setTitle(_("Remove plugins"))
def startIpkgListInstalled(self):
self.setTitle(_("Remove plugins"))
def startIpkgListInstalled(self):
- self.container.execute("
i
pkg list_installed enigma2-plugin-*")
+ self.container.execute("
o
pkg list_installed enigma2-plugin-*")
def startIpkgListAvailable(self):
def startIpkgListAvailable(self):
- self.container.execute("
i
pkg list enigma2-plugin-*")
+ self.container.execute("
o
pkg list enigma2-plugin-*")
def startRun(self):
def startRun(self):
+ listsize = self["list"].instance.size()
self["list"].instance.hide()
self["list"].instance.hide()
+ self.listWidth = listsize.width()
+ self.listHeight = listsize.height()
if self.type == self.DOWNLOAD:
if not PluginDownloadBrowser.lastDownloadDate or (time() - PluginDownloadBrowser.lastDownloadDate) > 3600:
# Only update from internet once per hour
if self.type == self.DOWNLOAD:
if not PluginDownloadBrowser.lastDownloadDate or (time() - PluginDownloadBrowser.lastDownloadDate) > 3600:
# Only update from internet once per hour
- self.container.execute("
i
pkg update")
+ self.container.execute("
o
pkg update")
PluginDownloadBrowser.lastDownloadDate = time()
else:
self.startIpkgListAvailable()
PluginDownloadBrowser.lastDownloadDate = time()
else:
self.startIpkgListAvailable()
@@
-220,8
+229,8
@@
class PluginDownloadBrowser(Screen):
self.remainingdata = ""
for x in lines:
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])
if self.run == 1 and self.type == self.DOWNLOAD:
if plugin[0] not in self.installedplugins:
self.installedplugins.append(plugin[0])
@@
-239,6
+248,13
@@
class PluginDownloadBrowser(Screen):
self.plugins = {}
for x in self.pluginlist:
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
split = x[3].split('-', 1)
if len(split) < 2:
continue
@@
-249,11
+265,11
@@
class PluginDownloadBrowser(Screen):
for x in self.plugins.keys():
if x in self.expanded:
for x in self.plugins.keys():
if x in self.expanded:
- list.append(PluginCategoryComponent(x, expandedIcon))
- list.extend([PluginDownloadComponent(plugin[0], plugin[1]) for plugin in self.plugins[x]])
+ list.append(PluginCategoryComponent(x, expandedIcon
, self.listWidth
))
+ list.extend([PluginDownloadComponent(plugin[0], plugin[1]
, self.listWidth
) for plugin in self.plugins[x]])
else:
else:
- list.append(PluginCategoryComponent(x, expandableIcon))
+ list.append(PluginCategoryComponent(x, expandableIcon
, self.listWidth
))
self.list = list
self["list"].l.setList(list)
self.list = list
self["list"].l.setList(list)
-language.addCallback(languageChanged)
\ No newline at end of file
+language.addCallback(languageChanged)