Author: dmeyer
Date: Sun Oct 15 19:00:29 2006
New Revision: 8385

Modified:
   trunk/ui/src/audio/plugins/artist.py
   trunk/ui/src/playlist.py

Log:
use Playlist in artist plugin

Modified: trunk/ui/src/audio/plugins/artist.py
==============================================================================
--- trunk/ui/src/audio/plugins/artist.py        (original)
+++ trunk/ui/src/audio/plugins/artist.py        Sun Oct 15 19:00:29 2006
@@ -42,7 +42,7 @@
 # Freevo imports
 from plugin import MainMenuPlugin
 from menu import Item, ActionItem, Menu, Action
-from audio import AudioItem
+from playlist import Playlist
 
 class AlbumItem(Item):
     """
@@ -68,7 +68,8 @@
         else:
             query = kaa.beacon.query(artist=self.artist)
         # FIXME: monitor query for live update
-        self.pushmenu(Menu(title, [ AudioItem(item, self) for item in query ]))
+        self.playlist = Playlist(title, query, self)
+        self.playlist.browse()
 
 
     def actions(self):

Modified: trunk/ui/src/playlist.py
==============================================================================
--- trunk/ui/src/playlist.py    (original)
+++ trunk/ui/src/playlist.py    Sun Oct 15 19:00:29 2006
@@ -260,6 +260,13 @@
         self.info = {}
         self.playlist = []
 
+        if isinstance(playlist, kaa.beacon.Query):
+            playlist = playlist.get(filter='extmap')
+            for p in self.get_plugins:
+                for i in p.get(self, playlist):
+                    self.playlist.append(i)
+            return
+        
         for i in playlist:
             if isinstance(i, Item):
                 # Item object, correct parent
@@ -267,15 +274,15 @@
                 # FIXME: use weakref here
                 i.parent = self
                 self.playlist.append(i)
-                query = None
+                continue
 
             # FIXME: The following stuff depends on a fast media database
             # Unless beacon is finished and integrated, this can be very
             # slow. It should be fast later but it is still unclear what
             # will happen on large directory trees.
 
-            elif isinstance(i, list) or isinstance(i, tuple) and \
-                 len(i) == 2 and os.path.isdir(i[0]):
+            if isinstance(i, list) or isinstance(i, tuple) and \
+                   len(i) == 2 and os.path.isdir(i[0]):
                 # (directory, recursive=True|False)
                 query = { 'filename': i[0] }
                 if i[1]:
@@ -284,11 +291,10 @@
                 # filename
                 query = { 'filename': i }
 
-            if query:
-                l = kaa.beacon.query(**query).get(filter='extmap')
-                for p in self.get_plugins:
-                    for i in p.get(self, l):
-                        self.playlist.append(i)
+            l = kaa.beacon.query(**query).get(filter='extmap')
+            for p in self.get_plugins:
+                for i in p.get(self, l):
+                    self.playlist.append(i)
 
 
     def randomize(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

Reply via email to