Author: dmeyer
Date: Sat Feb 3 21:09:11 2007
New Revision: 9152
Modified:
trunk/ui/src/mainmenu.py
trunk/ui/src/menu/item.py
trunk/ui/src/menu/plugin.py
trunk/ui/src/plugin.py
trunk/ui/src/plugins/mediamenu.py
trunk/ui/src/tv/tvmenu.py
Log:
move some plugin logic around
Modified: trunk/ui/src/mainmenu.py
==============================================================================
--- trunk/ui/src/mainmenu.py (original)
+++ trunk/ui/src/mainmenu.py Sat Feb 3 21:09:11 2007
@@ -39,14 +39,12 @@
import os
# freevo imports
-import config
import gui.theme
import util
import plugin
from menu import Item, Action, Menu
from application.menuw import MenuWidget
-from event import *
class MainMenuItem(Item):
@@ -105,7 +103,7 @@
"""
Item.__init__(self)
items = []
- for p in plugin.get('mainmenu'):
+ for p in plugin.MainMenuPlugin.plugins():
items += p.items(self)
menu = Menu(_('Freevo Main Menu'), items, type='main')
menu.autoselect = True
Modified: trunk/ui/src/menu/item.py
==============================================================================
--- trunk/ui/src/menu/item.py (original)
+++ trunk/ui/src/menu/item.py Sat Feb 3 21:09:11 2007
@@ -43,8 +43,8 @@
from kaa.weakref import weakref
import kaa.beacon
-# freevo imports
-from freevo.ui import plugin
+# menu imports
+from plugin import ItemPlugin
# get logging object
log = logging.getLogger()
@@ -153,9 +153,7 @@
# get actions defined by the item
items = self.actions()
# get actions defined by plugins
- plugins = plugin.get('item') + plugin.get('item_%s' % self.type)
- plugins.sort(lambda l, o: cmp(l._plugin_level, o._plugin_level))
- for p in plugins:
+ for p in ItemPlugin.plugins(self.type):
for a in p.actions(self):
# set item for the action
a.item = self
@@ -218,7 +216,7 @@
Simple eventhandler for an item
"""
# call eventhandler from plugins
- for p in plugin.get('item') + plugin.get('item_%s' % self.type):
+ for p in ItemPlugin.plugins(self.type):
if p.eventhandler(self, event):
return True
Modified: trunk/ui/src/menu/plugin.py
==============================================================================
--- trunk/ui/src/menu/plugin.py (original)
+++ trunk/ui/src/menu/plugin.py Sat Feb 3 21:09:11 2007
@@ -65,6 +65,20 @@
return False
+ def plugins(subtype=''):
+ """
+ Static function to return all ItemPlugins.
+ """
+ plugins = plugin.get('item')[:]
+ if subtype:
+ plugins += plugin.get('item_%s' % subtype)
+ plugins.sort(lambda l, o: cmp(l._plugin_level, o._plugin_level))
+ return plugins
+
+ plugins = staticmethod(plugins)
+
+
+
class MediaPlugin(plugin.Plugin):
"""
Plugin class for medias handled in a directory/playlist.
Modified: trunk/ui/src/plugin.py
==============================================================================
--- trunk/ui/src/plugin.py (original)
+++ trunk/ui/src/plugin.py Sat Feb 3 21:09:11 2007
@@ -79,6 +79,16 @@
return []
+ def plugins(subtype=''):
+ """
+ Static function to return all MainMenuPlugins.
+ """
+ if not subtype:
+ return get('mainmenu')
+ return get('mainmenu_%s' % subtype)
+
+ plugins = staticmethod(plugins)
+
class PluginLoader(object):
"""
Modified: trunk/ui/src/plugins/mediamenu.py
==============================================================================
--- trunk/ui/src/plugins/mediamenu.py (original)
+++ trunk/ui/src/plugins/mediamenu.py Sat Feb 3 21:09:11 2007
@@ -43,7 +43,7 @@
# freevo imports
import freevo.conf
-from freevo.ui import plugin
+from freevo.ui.plugin import MainMenuPlugin
from freevo.ui.event import EJECT
from freevo.ui.directory import DirItem
from freevo.ui.mainmenu import MainMenuItem
@@ -55,7 +55,7 @@
log = logging.getLogger()
-class PluginInterface(plugin.MainMenuPlugin):
+class PluginInterface(MainMenuPlugin):
"""
Plugin to integrate a mediamenu (video/audio/image/games) into
the Freevo main menu. This plugin is auto-loaded when you activate
@@ -65,7 +65,7 @@
if items is None:
self.reason = 'No items defined for %s menu' % type
return
- plugin.MainMenuPlugin.__init__(self)
+ MainMenuPlugin.__init__(self)
self._name = name
self._type = type
self._items = items
@@ -181,7 +181,7 @@
type = self.display_type))
# add all plugin data
if self.display_type:
- for p in plugin.get('mainmenu_%s' % self.display_type):
+ for p in MainMenuPlugin.plugins(self.display_type):
items += p.items( self )
return items
Modified: trunk/ui/src/tv/tvmenu.py
==============================================================================
--- trunk/ui/src/tv/tvmenu.py (original)
+++ trunk/ui/src/tv/tvmenu.py Sat Feb 3 21:09:11 2007
@@ -86,7 +86,7 @@
# items.append(menu.MenuItem(_('Search Guide'),
# action=self.show_search))
- plugins_list = plugin.get('mainmenu_tv')
+ plugins_list = plugin.MainMenuPlugin.plugins('tv')
for p in plugins_list:
items += p.items(self)
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog