aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-04-15 21:04:16 +0200
committerghost <andreas.monzner@multimedia-labs.de>2009-04-15 21:04:16 +0200
commit6054913697e752255432becc0a88c046ce611f23 (patch)
tree7c130adcd160a7d65edbdab0c9135d01e350e8dc /lib/python/Screens
parent7651b3c2619e3bc1167ccff3e8433946983445fd (diff)
downloadenigma2-6054913697e752255432becc0a88c046ce611f23.tar.gz
enigma2-6054913697e752255432becc0a88c046ce611f23.zip
PluginBrowser.py: update pluginlist max every 60 minutes (thx to
Mike Looijmans)
Diffstat (limited to 'lib/python/Screens')
-rw-r--r--lib/python/Screens/PluginBrowser.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/python/Screens/PluginBrowser.py b/lib/python/Screens/PluginBrowser.py
index cd17e2e0..e39c4b83 100644
--- a/lib/python/Screens/PluginBrowser.py
+++ b/lib/python/Screens/PluginBrowser.py
@@ -12,6 +12,7 @@ from Plugins.Plugin import PluginDescriptor
from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
from Tools.LoadPixmap import LoadPixmap
+from time import time
class PluginBrowser(Screen):
def __init__(self, session):
@@ -65,7 +66,8 @@ class PluginBrowser(Screen):
class PluginDownloadBrowser(Screen):
DOWNLOAD = 0
REMOVE = 1
-
+ lastDownloadDate = None
+
def __init__(self, session, type):
Screen.__init__(self, session)
@@ -130,14 +132,22 @@ class PluginDownloadBrowser(Screen):
elif self.type == self.REMOVE:
self.setTitle(_("Remove plugins"))
+ def startIpkgListInstalled(self):
+ self.container.execute("ipkg list_installed enigma2-plugin-*")
+
def startRun(self):
self["list"].instance.hide()
if self.type == self.DOWNLOAD:
- self.container.execute("ipkg update")
+ if not PluginDownloadBrowser.lastDownloadDate or (time() - PluginDownloadBrowser.lastDownloadDate) > 3600:
+ # Only update from internet once per hour
+ self.container.execute("ipkg update")
+ PluginDownloadBrowser.lastDownloadDate = time()
+ else:
+ self.startIpkgListInstalled()
elif self.type == self.REMOVE:
self.run = 1
- self.container.execute("ipkg list_installed enigma2-plugin-*")
-
+ self.startIpkgListInstalled()
+
def installFinished(self):
plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
self.container.appClosed.remove(self.runFinished)
@@ -149,7 +159,7 @@ class PluginDownloadBrowser(Screen):
if self.run == 0:
self.run = 1
if self.type == self.DOWNLOAD:
- self.container.execute("ipkg list_installed enigma2-plugin-*")
+ self.startIpkgListInstalled()
elif self.run == 1 and self.type == self.DOWNLOAD:
self.run = 2
self.container.execute("ipkg list enigma2-plugin-*")