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

Reply via email to