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

Reply via email to