Author: dmeyer
Date: Sun Apr 15 08:43:48 2007
New Revision: 9451

Modified:
   trunk/ui/src/directory.py
   trunk/ui/src/playlist.py

Log:
handle DirItem["length"] in MediaItem

Modified: trunk/ui/src/directory.py
==============================================================================
--- trunk/ui/src/directory.py   (original)
+++ trunk/ui/src/directory.py   Sun Apr 15 08:43:48 2007
@@ -49,7 +49,7 @@
 import menu
 import fxditem
 
-from menu import Item, Files, Action, ActionItem, MediaPlugin
+from menu import Files, Action, ActionItem, MediaPlugin
 from playlist import Playlist
 from event import OSD_MESSAGE, DIRECTORY_CHANGE_DISPLAY_TYPE, \
      DIRECTORY_TOGGLE_HIDE_PLAYED
@@ -168,13 +168,11 @@
             display_type = self.display_type
             if self.display_type == 'tv':
                 display_type = 'video'
-
             # get number of items info from beacon
             num_items_all = self.info.get('freevo_num_items') or {}
             num_items = num_items_all.get(display_type)
             if num_items and num_items[0] != self.info.get('mtime'):
                 num_items = None
-
             if not num_items:
                 log.info('create metainfo for %s', self.filename)
                 listing = 
kaa.beacon.query(parent=self.info).get(filter='extmap')
@@ -185,13 +183,10 @@
                 if self.info.scanned():
                     num_items_all[display_type] = num_items
                     self.info['freevo_num_items'] = copy.copy(num_items_all)
-
             if key == 'num_items':
                 return num_items[1] + num_items[2]
-
             if key == 'num_play_items':
                 return num_items[1]
-
             if key == 'num_dir_items':
                 return num_items[2]
 
@@ -206,26 +201,7 @@
                 space='%s,%s' % (space / 1000, space % 1000)
             return space
 
-        if key == 'length':
-            try:
-                length = int(self.info['length'])
-            except ValueError:
-                return self.info['length']
-            except:
-                try:
-                    length = int(self.length)
-                except:
-                    return ''
-            if length == 0:
-                return ''
-            if length / 3600:
-                return '%d:%02d:%02d' % ( length / 3600, (length % 3600) / 60,
-                                          length % 60)
-            else:
-                return '%d:%02d' % (length / 60, length % 60)
-
         if key.startswith('config:'):
-
             value = self.info.get('tmp:%s' % key[7:])
             if value is not None:
                 return value
@@ -246,7 +222,7 @@
                 return 'video' in value.split(',')
             return self.display_type in value.split(',')
 
-        return Item.__getitem__(self, key)
+        return Playlist.__getitem__(self, key)
 
 
     # eventhandler for this item

Modified: trunk/ui/src/playlist.py
==============================================================================
--- trunk/ui/src/playlist.py    (original)
+++ trunk/ui/src/playlist.py    Sun Apr 15 08:43:48 2007
@@ -86,8 +86,10 @@
         self.repeat       = repeat
         self.display_type = type
         self.next_pos     = None
-        self._playlist_valid = False
-
+        # if playlist is empty (like for directory items) the playlist
+        # is always valid. The inheriting class has to make sure when
+        # it calls set_playlist
+        self._playlist_valid = playlist == []
         self.background_playlist = None
         self._random = random
 
@@ -149,7 +151,6 @@
         self._playlist_valid = True
 
         # create a basic info object
-        self.info = {}
         items = []
 
         if isinstance(self._playlist, (str, unicode)):

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to