diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-04-15 21:04:16 +0200 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-04-15 21:04:16 +0200 |
| commit | 6054913697e752255432becc0a88c046ce611f23 (patch) | |
| tree | 7c130adcd160a7d65edbdab0c9135d01e350e8dc /lib/python | |
| parent | 7651b3c2619e3bc1167ccff3e8433946983445fd (diff) | |
| download | enigma2-6054913697e752255432becc0a88c046ce611f23.tar.gz enigma2-6054913697e752255432becc0a88c046ce611f23.zip | |
PluginBrowser.py: update pluginlist max every 60 minutes (thx to
Mike Looijmans)
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Screens/PluginBrowser.py | 20 |
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-*") |
