Update of /cvsroot/freevo/freevo/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12054
Modified Files:
directory.py
Log Message:
fix item counter for different display_types
Index: directory.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/directory.py,v
retrieving revision 1.112
retrieving revision 1.113
diff -C2 -d -r1.112 -r1.113
*** directory.py 8 Feb 2004 17:40:09 -0000 1.112
--- directory.py 12 Feb 2004 12:20:11 -0000 1.113
***************
*** 10,13 ****
--- 10,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.113 2004/02/12 12:20:11 dischi
+ # fix item counter for different display_types
+ #
# Revision 1.112 2004/02/08 17:40:09 dischi
# remember number of items, calc when needed
***************
*** 169,181 ****
class for handling directories
"""
! def __init__(self, directory, parent, name = '', display_type = None, add_args =
None):
! dt = display_type
! if display_type == 'tv':
! dt = 'video'
! elif not dt:
! dt = 'all'
! self.autovars = [ ('num_dir_items', 0), ('num_timestamp', 0),
! ('num_%s_items' % dt, 0)]
!
Playlist.__init__(self, parent=parent, display_type=display_type)
self.type = 'dir'
--- 172,178 ----
class for handling directories
"""
! def __init__(self, directory, parent, name = '', display_type = None,
! add_args = None, create_metainfo=True):
! self.autovars = [ ('num_dir_items', 0) ]
Playlist.__init__(self, parent=parent, display_type=display_type)
self.type = 'dir'
***************
*** 243,247 ****
# create some extra info
! self.create_metainfo()
--- 240,246 ----
# create some extra info
! if create_metainfo:
! self.create_metainfo()
!
***************
*** 351,355 ****
if key == 'num_items':
! display_type = self.display_type
if self.display_type == 'tv':
display_type = 'video'
--- 350,354 ----
if key == 'num_items':
! display_type = self.display_type or 'all'
if self.display_type == 'tv':
display_type = 'video'
***************
*** 413,427 ****
create some metainfo for the directory
"""
timestamp = os.stat(self.dir)[stat.ST_MTIME]
! num_timestamp = self.info['num_timestamp']
! if num_timestamp != timestamp:
num_dir_items = 0
num_play_items = 0
files = vfs.listdir(self.dir, include_overlay=True)
- display_type = self.display_type
-
- if self.display_type == 'tv':
- display_type = 'video'
# play items and playlists
--- 412,439 ----
create some metainfo for the directory
"""
+ display_type = self.display_type
+
+ if self.display_type == 'tv':
+ display_type = 'video'
+
+ name = display_type or 'all'
+
+ # check autovars
+ for var, val in self.autovars:
+ if var == 'num_%s_timestamp' % name:
+ break
+ else:
+ self.autovars += [ ( 'num_%s_timestamp' % name, 0 ),
+ ( 'num_%s_items' % name, 0 ) ]
+
timestamp = os.stat(self.dir)[stat.ST_MTIME]
! num_timestamp = self.info['num_%s_timestamp' % name]
! if not num_timestamp or num_timestamp < timestamp:
! if self.media:
! self.media.mount()
num_dir_items = 0
num_play_items = 0
files = vfs.listdir(self.dir, include_overlay=True)
# play items and playlists
***************
*** 435,447 ****
# store info
! if self.display_type:
! if num_play_items != self['num_%s_items' % display_type]:
! self['num_%s_items' % display_type] = num_play_items
! else:
! if num_play_items != self['num_all_items']:
! self['num_all_items'] = num_play_items
if self['num_dir_items'] != num_dir_items:
self['num_dir_items'] = num_dir_items
! self['num_timestamp'] = timestamp
--- 447,457 ----
# store info
! if num_play_items != self['num_%s_items' % name]:
! self['num_%s_items' % name] = num_play_items
if self['num_dir_items'] != num_dir_items:
self['num_dir_items'] = num_dir_items
! self['num_%s_timestamp' % name] = timestamp
! if self.media:
! self.media.umount()
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog