Author: dmeyer
Date: Sat Feb 3 20:49:32 2007
New Revision: 9151
Removed:
trunk/ui/src/media.py
Modified:
trunk/ui/src/audio/__init__.py
trunk/ui/src/audio/interface.py
trunk/ui/src/directory.py
trunk/ui/src/fxditem.py
trunk/ui/src/image/__init__.py
trunk/ui/src/image/fxdhandler.py
trunk/ui/src/image/interface.py
trunk/ui/src/image/plugins/apod.py
trunk/ui/src/menu/__init__.py
trunk/ui/src/menu/plugin.py
trunk/ui/src/playlist.py
trunk/ui/src/plugins/mbus.py
trunk/ui/src/plugins/mediamenu.py
trunk/ui/src/plugins/unpack.py
trunk/ui/src/video/__init__.py
trunk/ui/src/video/interface.py
Log:
move media.py into menu/plugins.py, looks better that way
Modified: trunk/ui/src/audio/__init__.py
==============================================================================
--- trunk/ui/src/audio/__init__.py (original)
+++ trunk/ui/src/audio/__init__.py Sat Feb 3 20:49:32 2007
@@ -7,7 +7,7 @@
# This file imports everything needed to use this audio module. There
# is only one class provided for audio files, the PluginInterface from
# interface.py. It is a MediaPlugin that can be accessed from
-# media.get_plugins(). It will also register an fxd handler for the
+# menu.MediaPlugin.plugins(). It will also register an fxd handler for the
# <playlist> tag.
#
# Audio plugins are also allowed to use AudioItem to create a new AudioItem
Modified: trunk/ui/src/audio/interface.py
==============================================================================
--- trunk/ui/src/audio/interface.py (original)
+++ trunk/ui/src/audio/interface.py Sat Feb 3 20:49:32 2007
@@ -35,7 +35,7 @@
# only export 'PluginInterface' to the outside. This will be used
# with plugin.activate('audio') and everything else should be handled
-# by using media.get_plugins()
+# by using menu.MediaPlugin.plugins()
__all__ = [ 'PluginInterface' ]
@@ -46,7 +46,7 @@
# Freevo imports
from freevo.ui import config, util, plugin, fxditem
-from freevo.ui.media import MediaPlugin
+from freevo.ui.menu import MediaPlugin
# AudioItem
from audioitem import AudioItem
Modified: trunk/ui/src/directory.py
==============================================================================
--- trunk/ui/src/directory.py (original)
+++ trunk/ui/src/directory.py Sat Feb 3 20:49:32 2007
@@ -49,9 +49,8 @@
import menu
import fxditem
-import media
-from menu import Item, Files, Action, ActionItem
+from menu import Item, Files, Action, ActionItem, MediaPlugin
from playlist import Playlist
from event import *
@@ -180,7 +179,7 @@
type = 'video'
# Check media plugins if they want to add something
- for p in media.get_plugins(type):
+ for p in MediaPlugin.plugins(type):
p.dirinfo(self)
@@ -208,7 +207,7 @@
log.info('create metainfo for %s', self.dir)
listing =
kaa.beacon.query(parent=self.info).get(filter='extmap')
num_items = [ self.info.get('mtime'), 0 ]
- for p in media.get_plugins(display_type):
+ for p in MediaPlugin.plugins(display_type):
num_items[1] += p.count(self, listing)
num_items.append(len(listing.get('beacon:dir')))
if self.info.scanned():
@@ -280,7 +279,7 @@
if event == DIRECTORY_CHANGE_DISPLAY_TYPE:
possible = [ ]
- for p in media.get_plugins():
+ for p in MediaPlugin.plugins():
for t in p.display_type:
if not t in possible:
possible.append(t)
@@ -413,7 +412,7 @@
# build items
#
# build play_items, pl_items and dir_items
- for p in media.get_plugins(display_type):
+ for p in MediaPlugin.plugins(display_type):
for i in p.get(self, listing):
if i.type == 'playlist':
pl_items.append(i)
Modified: trunk/ui/src/fxditem.py
==============================================================================
--- trunk/ui/src/fxditem.py (original)
+++ trunk/ui/src/fxditem.py Sat Feb 3 20:49:32 2007
@@ -54,9 +54,8 @@
import util
import plugin
-import media
-from menu import Item, Action, Menu
+from menu import Item, Action, Menu, MediaPlugin
# get logging object
log = logging.getLogger()
@@ -71,7 +70,7 @@
_callbacks.append((types, node, callback))
-class PluginInterface(media.MediaPlugin):
+class PluginInterface(MediaPlugin):
"""
Class to handle fxd files in directories
"""
Modified: trunk/ui/src/image/__init__.py
==============================================================================
--- trunk/ui/src/image/__init__.py (original)
+++ trunk/ui/src/image/__init__.py Sat Feb 3 20:49:32 2007
@@ -7,7 +7,7 @@
# This file imports everything needed to use this image module. There
# is only one class provided for images, the PluginInterface from
# interface.py. It is a MediaPlugin that can be accessed from
-# media.get_plugins(). It will also register an fxd handler for the
+# menu.MediaPlugin.plugins(). It will also register an fxd handler for the
# <slideshow> tag.
#
# Image plugins are also allowed to use ImageItem to create a new
Modified: trunk/ui/src/image/fxdhandler.py
==============================================================================
--- trunk/ui/src/image/fxdhandler.py (original)
+++ trunk/ui/src/image/fxdhandler.py Sat Feb 3 20:49:32 2007
@@ -60,7 +60,7 @@
# Freevo imports
from freevo.ui import config
from freevo.ui import plugin
-from freevo.ui import media
+from freevo.ui import menu
from freevo.ui.util import match_files
from freevo.ui.playlist import Playlist
@@ -126,7 +126,7 @@
files = []
suffix = []
- for p in media.get_plugins('audio'):
+ for p in menu.MediaPlugin.plugins('audio'):
suffix += p.suffix()
for child in children:
Modified: trunk/ui/src/image/interface.py
==============================================================================
--- trunk/ui/src/image/interface.py (original)
+++ trunk/ui/src/image/interface.py Sat Feb 3 20:49:32 2007
@@ -35,13 +35,13 @@
# only export 'PluginInterface' to the outside. This will be used
# with plugin.activate('image') and everything else should be handled
-# by using media.get_plugins()
+# by using menu.MediaPlugin.plugins()
__all__ = [ 'PluginInterface' ]
# freevo imports
from freevo.ui import config, plugin, fxditem
-from freevo.ui.media import MediaPlugin
+from freevo.ui.menu import MediaPlugin
# ImageItem
from imageitem import ImageItem
Modified: trunk/ui/src/image/plugins/apod.py
==============================================================================
--- trunk/ui/src/image/plugins/apod.py (original)
+++ trunk/ui/src/image/plugins/apod.py Sat Feb 3 20:49:32 2007
@@ -41,7 +41,6 @@
# freevo imports
from freevo.ui import plugin
from freevo.ui import menu
-from freevo.ui import media
from freevo.ui.menu import Item, Action, ActionItem, Menu
from freevo.ui.image import ImageItem
@@ -92,7 +91,7 @@
# get items
items = []
- for p in media.get_plugins('image'):
+ for p in menu.MediaPlugin.plugins('image'):
items += p.get(self, listing)
if items:
Modified: trunk/ui/src/menu/__init__.py
==============================================================================
--- trunk/ui/src/menu/__init__.py (original)
+++ trunk/ui/src/menu/__init__.py Sat Feb 3 20:49:32 2007
@@ -36,7 +36,7 @@
from action import Action
from menu import Menu
from stack import MenuStack
-from plugin import ItemPlugin
+from plugin import ItemPlugin, MediaPlugin
class ActionItem(Item, Action):
"""
Modified: trunk/ui/src/menu/plugin.py
==============================================================================
--- trunk/ui/src/menu/plugin.py (original)
+++ trunk/ui/src/menu/plugin.py Sat Feb 3 20:49:32 2007
@@ -29,6 +29,9 @@
#
# -----------------------------------------------------------------------------
+__all__ = [ 'ItemPlugin', 'MediaPlugin' ]
+
+# freevo imports
from freevo.ui import plugin
@@ -60,3 +63,70 @@
Additional eventhandler for this item.
"""
return False
+
+
+class MediaPlugin(plugin.Plugin):
+ """
+ Plugin class for medias handled in a directory/playlist.
+ self.mediatype is a list of display types where this media
+ should be displayed, [] for always.
+ """
+ mediatype = []
+
+ def __init__(self, name=''):
+ plugin.Plugin.__init__(self, name)
+ self._plugin_type = 'media'
+
+
+ def suffix(self):
+ """
+ return the list of suffixes this class handles
+ """
+ return []
+
+
+ def get(self, parent, files):
+ """
+ return a list of items based on the files
+ """
+ return []
+
+
+ def count(self, parent, listing):
+ """
+ return how many items will be build on files
+ """
+ c = 0
+ for t in self.suffix():
+ c += len(listing.get(t))
+ return c
+
+
+ def dirinfo(self, diritem):
+ """
+ set informations for a diritem based on the content, etc.
+ """
+ pass
+
+
+ def database(self):
+ """
+ returns a database object
+ """
+ return None
+
+
+ def plugins(mediatype=None):
+ """
+ Static function to return all MediaPlugins for the given mediatype.
+ If mediatype is None, return all MediaPlugins.
+ """
+ if not mediatype:
+ return plugin.get('media')
+ ret = []
+ for p in plugin.get('media'):
+ if not p.mediatype or mediatype in p.mediatype:
+ ret.append(p)
+ return ret
+
+ plugins = staticmethod(plugins)
Modified: trunk/ui/src/playlist.py
==============================================================================
--- trunk/ui/src/playlist.py (original)
+++ trunk/ui/src/playlist.py Sat Feb 3 20:49:32 2007
@@ -46,10 +46,9 @@
import util
import plugin
import fxditem
-import media
from event import *
-from menu import Action, Item, MediaItem, Menu
+from menu import Action, Item, MediaItem, Menu, MediaPlugin
# get logging object
log = logging.getLogger()
@@ -176,7 +175,7 @@
# Note: playlist is a list of Items, strings (filenames) or a
# beacon queries now.
- plugins = media.get_plugins(self.display_type)
+ plugins = MediaPlugin.plugins(self.display_type)
for item in playlist:
if isinstance(item, Item):
@@ -450,12 +449,12 @@
-class PluginInterface(media.MediaPlugin):
+class PluginInterface(MediaPlugin):
"""
Plugin class for playlist items
"""
def __init__(self):
- media.MediaPlugin.__init__(self)
+ MediaPlugin.__init__(self)
# add fxd parser callback
fxditem.add_parser([], 'playlist', self.fxdhandler)
Modified: trunk/ui/src/plugins/mbus.py
==============================================================================
--- trunk/ui/src/plugins/mbus.py (original)
+++ trunk/ui/src/plugins/mbus.py Sat Feb 3 20:49:32 2007
@@ -10,7 +10,7 @@
from freevo.ui import plugin, application
from freevo.ui.event import *
from freevo.ui.directory import DirItem
-from freevo.ui.media import get_plugins
+from freevo.ui.menu import MediaPlugin
import logging
log = logging.getLogger('mbus')
@@ -62,7 +62,7 @@
kaa.beacon.query(filename=unicode_to_str(file)).get(filter='extmap')
# normal file
- for p in get_plugins(type):
+ for p in MediaPlugin.plugins(type):
i = p.get(None, listing)
if i and hasattr(i[0], 'play'):
i[0].play()
Modified: trunk/ui/src/plugins/mediamenu.py
==============================================================================
--- trunk/ui/src/plugins/mediamenu.py (original)
+++ trunk/ui/src/plugins/mediamenu.py Sat Feb 3 20:49:32 2007
@@ -47,8 +47,7 @@
from freevo.ui.event import EJECT
from freevo.ui.directory import DirItem
from freevo.ui.mainmenu import MainMenuItem
-from freevo.ui.menu import Menu, Item
-from freevo.ui.media import get_plugins
+from freevo.ui.menu import Menu, Item, MediaPlugin
# from games import machine
@@ -160,7 +159,7 @@
query = kaa.beacon.query(filename=filename)
listing = query.get(filter='extmap')
- for p in get_plugins(self.display_type):
+ for p in MediaPlugin.plugins(self.display_type):
p_items = p.get(self, listing)
if title:
for i in p_items:
@@ -175,7 +174,7 @@
if media.mountpoint == '/':
continue
listing = kaa.beacon.wrap(media.root, filter='extmap')
- for p in get_plugins(self.display_type):
+ for p in MediaPlugin.plugins(self.display_type):
items.extend(p.get(self, listing))
for d in listing.get('beacon:dir'):
items.append(DirItem(d, self, name=media.label,
Modified: trunk/ui/src/plugins/unpack.py
==============================================================================
--- trunk/ui/src/plugins/unpack.py (original)
+++ trunk/ui/src/plugins/unpack.py Sat Feb 3 20:49:32 2007
@@ -42,9 +42,7 @@
# freevo imports
from freevo.ui import util
-from freevo.ui.media import MediaPlugin
-
-from freevo.ui.menu import Item, Action
+from freevo.ui.menu import Item, Action, MediaPlugin
from freevo.ui.application import TextWindow
# possible archives and how to unpack them
Modified: trunk/ui/src/video/__init__.py
==============================================================================
--- trunk/ui/src/video/__init__.py (original)
+++ trunk/ui/src/video/__init__.py Sat Feb 3 20:49:32 2007
@@ -7,7 +7,7 @@
# This file imports everything needed to use this video module.
# There is only one class provided for video files, the PluginInterface
# from interface.py. It is a MediaPlugin that can be accessed
-# from media.get_plugins(). It will also register an fxd handler for the
+# from menu.MediaPlugin.plugins(). It will also register an fxd handler for the
# <movie> and <disc-set> tags.
#
# Video plugins are also allowed to use VideoItem to create a new VideoItem
Modified: trunk/ui/src/video/interface.py
==============================================================================
--- trunk/ui/src/video/interface.py (original)
+++ trunk/ui/src/video/interface.py Sat Feb 3 20:49:32 2007
@@ -42,8 +42,7 @@
# freevo imports
from freevo.ui import config, util, plugin, fxditem
-from freevo.ui.media import MediaPlugin
-from freevo.ui.menu import Files
+from freevo.ui.menu import Files, MediaPlugin
# video imports
from videoitem import VideoItem
-------------------------------------------------------------------------
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