diff options
| author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2011-03-14 12:03:18 +0100 |
|---|---|---|
| committer | Fraxinas <andreas.frisch@multimedia-labs.de> | 2011-03-14 12:03:18 +0100 |
| commit | 56da7b1c456ed1cbd8a09a9c6bc7c312e51ca037 (patch) | |
| tree | ee9ff1907aa4a1e09c8851dcf3a1704c01522d2f /lib/python/Screens/InfoBarGenerics.py | |
| parent | ed2e2fedc646e73d5f4348458901bb46b717a497 (diff) | |
| download | enigma2-56da7b1c456ed1cbd8a09a9c6bc7c312e51ca037.tar.gz enigma2-56da7b1c456ed1cbd8a09a9c6bc7c312e51ca037.zip | |
do not show extensions menu plugins which require servicelist in pvr playback mode (works around bug #723)
Diffstat (limited to 'lib/python/Screens/InfoBarGenerics.py')
| -rw-r--r-- | lib/python/Screens/InfoBarGenerics.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 4f6eafca..b12d8ed3 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -1353,6 +1353,7 @@ class InfoBarExtensions: answer[1][1]() from Tools.BoundFunction import boundFunction +import inspect # depends on InfoBarExtensions @@ -1364,9 +1365,13 @@ class InfoBarPlugins: return name def getPluginList(self): - list = [((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None, p.name) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU)] - list.sort(key = lambda e: e[2]) # sort by name - return list + l = [] + for p in plugins.getPlugins(where = PluginDescriptor.WHERE_EXTENSIONSMENU): + args = inspect.getargspec(p.__call__)[0] + if len(args) == 1 or len(args) == 2 and isinstance(self, InfoBarChannelSelection): + l.append(((boundFunction(self.getPluginName, p.name), boundFunction(self.runPlugin, p), lambda: True), None, p.name)) + l.sort(key = lambda e: e[2]) # sort by name + return l def runPlugin(self, plugin): if isinstance(self, InfoBarChannelSelection): |
