aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2008-01-02 17:22:25 +0000
committerFelix Domke <tmbinc@elitedvb.net>2008-01-02 17:22:25 +0000
commit94dd79e0b8f895f54af7b7d3a76c65f341d5f117 (patch)
treed2f9d35c068b8ae8510b014c8fe099dd0af7e2b4 /lib/python
parentcd3365b6dcde3fdb5135f65be8e5688402f4c2b6 (diff)
downloadenigma2-94dd79e0b8f895f54af7b7d3a76c65f341d5f117.tar.gz
enigma2-94dd79e0b8f895f54af7b7d3a76c65f341d5f117.zip
patch by Moritz Venn: allow plugins to provide a Wakeup-Time
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/PluginComponent.py8
-rw-r--r--lib/python/Plugins/Plugin.py7
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/python/Components/PluginComponent.py b/lib/python/Components/PluginComponent.py
index 590f428d..818ea583 100644
--- a/lib/python/Components/PluginComponent.py
+++ b/lib/python/Components/PluginComponent.py
@@ -116,4 +116,12 @@ class PluginComponent:
def resetWarnings(self):
self.warnings = [ ]
+ def getNextWakeupTime(self):
+ wakeup = -1
+ for p in self.pluginList:
+ current = p.getWakeupTime()
+ if current > -1 and wakeup < current:
+ wakeup = current
+ return int(wakeup)
+
plugins = PluginComponent()
diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py
index f6f9b481..583c9ad8 100644
--- a/lib/python/Plugins/Plugin.py
+++ b/lib/python/Plugins/Plugin.py
@@ -45,7 +45,7 @@ class PluginDescriptor:
# or return a function which is called with session and the interface name for extended setup of this interface
WHERE_NETWORKSETUP = 10
- def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None):
+ def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None):
self.name = name
if type(where) is list:
self.where = where
@@ -59,6 +59,8 @@ class PluginDescriptor:
else:
self.icon = icon
+ self.wakeupfnc = wakeupfnc
+
self.__call__ = fnc
def updateIcon(self, path):
@@ -67,5 +69,8 @@ class PluginDescriptor:
else:
self.icon = None
+ def getWakeupTime(self):
+ return self.wakeupfnc and self.wakeupfnc() or -1
+
def __eq__(self, other):
return self.__call__ == other.__call__