Update of /cvsroot/freevo/kaa/vfs/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11802/src

Modified Files:
        mediadb.py 
Log Message:
remove extra Directory class

Index: mediadb.py
===================================================================
RCS file: /cvsroot/freevo/kaa/vfs/src/mediadb.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** mediadb.py  28 Aug 2005 15:35:34 -0000      1.2
--- mediadb.py  28 Aug 2005 16:01:49 -0000      1.3
***************
*** 22,31 ****
  
  class Item(object):
!     def __init__(self, data, dir, db):
          self.data = data
!         self.dir = dir
          self.db = db
!         if isinstance(self.data, dict) and not self.data.has_key('path'):
!             self.data['path'] = self.dir['path'] + '/' + self.data['name']
  
      def _parse(self):
--- 22,31 ----
  
  class Item(object):
!     def __init__(self, data, parent, db):
          self.data = data
!         self.parent = parent
          self.db = db
!         if isinstance(self.data, dict) and parent and parent.isdir():
!             self.data['path'] = self.parent['path'] + '/' + self.data['name']
  
      def _parse(self):
***************
*** 39,47 ****
              update = False
  
!         if self.dir:
!             dirname = self.dir['path']
              path = dirname + '/' + fname
!             parent = ("dir", self.dir["id"])
! 
          else:
              dirname = ''
--- 39,48 ----
              update = False
  
!         if self.parent:
!             if not self.parent.isdir():
!                 return False
!             dirname = self.parent['path']
              path = dirname + '/' + fname
!             parent = self.parent.__id__()
          else:
              dirname = ''
***************
*** 83,94 ****
  
  
      def __getitem__(self, key):
          return self.data[key]
  
      
- class Directory(Item):
      def list(self):
          self._parse()
  
          dirname = os.path.normpath(self.data['path'])
          files = self.db.query_normalized(parent = ("dir", self.data["id"]))
--- 84,107 ----
  
  
+     def __id__(self):
+         return (self.data['type'], self.data["id"])
+ 
+     
      def __getitem__(self, key):
          return self.data[key]
  
+ 
+     def isdir(self):
+         if isinstance(self.data, (str, unicode)):
+             return os.path.isdir(self.parent['path'] + '/' + self.data)
+         return self.data['type'] == 'dir'
+ 
      
      def list(self):
          self._parse()
  
+         if self.data['type'] != 'dir':
+             return self.db.query_normalized(parent = self.__id__())
+             
          dirname = os.path.normpath(self.data['path'])
          files = self.db.query_normalized(parent = ("dir", self.data["id"]))
***************
*** 108,124 ****
          for f in fs_listing:
              # new files
!             if os.path.isdir(dirname + '/' + f):
!                 ret.items.append(Directory(f, self, self.db))
!             else:
!                 ret.items.append(Item(f, self, self.db))
              
          return ret
  
- 
-     def __str__(self):
-         if isinstance(self.data, (str, unicode)):
-             return 'new dir %s' % self.data
-         return 'dir ' + self.data['name']
- 
              
  class MediaDB(Database):
--- 121,128 ----
          for f in fs_listing:
              # new files
!             ret.items.append(Item(f, self, self.db))
              
          return ret
  
              
  class MediaDB(Database):
***************
*** 157,161 ****
              root = root[0]
          root['path'] = '/'
!         self.dir = { '/': Directory(root, None, self) }
  
  
--- 161,165 ----
              root = root[0]
          root['path'] = '/'
!         self.dir = { '/': Item(root, None, self) }
  
  
***************
*** 174,178 ****
          current = current[0]
          current['path'] = dirname
!         current = Directory(current, pdir, self)
          self.dir[dirname] = current
          return current
--- 178,182 ----
          current = current[0]
          current['path'] = dirname
!         current = Item(current, pdir, self)
          self.dir[dirname] = current
          return current



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to