Author: dmeyer
Date: Mon Oct 31 19:23:35 2005
New Revision: 886

Added:
   trunk/vfs/src/item.py
Modified:
   trunk/vfs/src/server.py

Log:
move item to extra file

Added: trunk/vfs/src/item.py
==============================================================================
--- (empty file)
+++ trunk/vfs/src/item.py       Mon Oct 31 19:23:35 2005
@@ -0,0 +1,67 @@
+import os
+
+class Item(object):
+    def __init__(self, data, parent, db):
+        self.data = data
+        self.parent = parent
+        self.db = db
+
+        # self.dirname always ends with a slash
+        # if the item is a dir, self.filename also ends with a slash
+        # self.url does not end with a slash (except root)
+        
+        # If parent is not set, this is a root node. A root node
+        # is always part of the db already
+        if not parent:
+            self.url = 'file:/' + self.data['name']
+            self.dirname = self.data['name']
+            self.filename = self.data['name']
+            self.isdir = True
+            self.basename = '/'
+            return
+
+        if isinstance(self.data, dict):
+            self.basename = self.data['name']
+        else:
+            self.basename = self.data
+
+        # check if the item s based on a file
+        if parent.filename:
+            self.url = 'file:/' + parent.filename + self.basename
+            self.dirname = parent.filename
+            self.filename = parent.filename + self.basename
+            if os.path.isdir(self.filename):
+                self.filename += '/'
+                self.isdir = True
+            else:
+                self.isdir = False
+                    
+        # TODO: handle files/parents not based on file:
+
+
+    def __id__(self):
+        return (self.data['type'], self.data["id"])
+    
+
+    def __str__(self):
+        if isinstance(self.data, str):
+            return 'new file %s' % self.data
+        return self.data['name']
+
+
+    def __getitem__(self, key):
+        if self.data.has_key(key):
+            return self.data[key]
+        if self.data.has_key('tmp:' + key):
+            return self.data['tmp:' + key]
+
+        # TODO: maybe get cover from parent (e.g. cover in a dir)
+        # Or should that be stored in each item
+        
+        return None
+
+
+#     def __del__(self):
+#         print 'del %s' % self
+
+

Modified: trunk/vfs/src/server.py
==============================================================================
--- trunk/vfs/src/server.py     (original)
+++ trunk/vfs/src/server.py     Mon Oct 31 19:23:35 2005
@@ -1,75 +1,13 @@
 import os
 import stat
+import time
 
 from kaa.base import ipc, weakref
 from kaa.base.db import *
 from kaa.notifier import Signal, OneShotTimer, Timer
 import kaa.metadata
 
-class Item(object):
-    def __init__(self, data, parent, db):
-        self.data = data
-        self.parent = parent
-        self.db = db
-
-        # self.dirname always ends with a slash
-        # if the item is a dir, self.filename also ends with a slash
-        # self.url does not end with a slash (except root)
-        
-        # If parent is not set, this is a root node. A root node
-        # is always part of the db already
-        if not parent:
-            self.url = 'file:/' + self.data['name']
-            self.dirname = self.data['name']
-            self.filename = self.data['name']
-            self.isdir = True
-            self.basename = '/'
-            return
-
-        if isinstance(self.data, dict):
-            self.basename = self.data['name']
-        else:
-            self.basename = self.data
-
-        # check if the item s based on a file
-        if parent.filename:
-            self.url = 'file:/' + parent.filename + self.basename
-            self.dirname = parent.filename
-            self.filename = parent.filename + self.basename
-            if os.path.isdir(self.filename):
-                self.filename += '/'
-                self.isdir = True
-            else:
-                self.isdir = False
-                    
-        # TODO: handle files/parents not based on file:
-
-
-    def __id__(self):
-        return (self.data['type'], self.data["id"])
-    
-
-    def __str__(self):
-        if isinstance(self.data, str):
-            return 'new file %s' % self.data
-        return self.data['name']
-
-
-    def __getitem__(self, key):
-        if self.data.has_key(key):
-            return self.data[key]
-        if self.data.has_key('tmp:' + key):
-            return self.data['tmp:' + key]
-
-        # TODO: maybe get cover from parent (e.g. cover in a dir)
-        # Or should that be stored in each item
-        
-        return None
-
-
-#     def __del__(self):
-#         print 'del %s' % self
-
+from item import Item
 
 def get_mtime(item):
     if not item.filename:
@@ -198,9 +136,11 @@
         self.dir = server.get_dir(kwargs['dir'])
         
     def execute(self):
+        t1 = time.time()
         self._items = []
         dirname = os.path.normpath(self.dir['url'][5:])
         files = self._db.query(parent = ("dir", self.dir["id"]))
+        t2 = time.time()
         fs_listing = os.listdir(dirname)
 
         # TODO: add OVERLAY_DIR support
@@ -222,6 +162,8 @@
             
 #         for i in self._items:
 #             print i
+        t3 = time.time()
+        print 'server query took %s sec, complet op %s sec' % (t2-t1, t3-t1)
         OneShotTimer(self.check_query).start(0.01)
         return self._items
 


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to