Author: remi
Date: 2009-06-09 14:23:32 +0200 (Tue, 09 Jun 2009)
New Revision: 4757

Modified:
   
software_suite_v3/smart-core/smart-server/trunk/util/filesystem/DirectoryContentObserver.py
Log:
* Files are now sorted by date creation

Modified: 
software_suite_v3/smart-core/smart-server/trunk/util/filesystem/DirectoryContentObserver.py
===================================================================
--- 
software_suite_v3/smart-core/smart-server/trunk/util/filesystem/DirectoryContentObserver.py
 2009-06-09 12:22:16 UTC (rev 4756)
+++ 
software_suite_v3/smart-core/smart-server/trunk/util/filesystem/DirectoryContentObserver.py
 2009-06-09 12:23:32 UTC (rev 4757)
@@ -265,12 +265,31 @@
                 if self.__onRemovedFileCallback != None:
                     fileName = os.path.join(directory, self.__filesInfo[key])
                     self.__onRemovedFileCallback(self.getName(), fileName)
+        # Sort files by date creation in a list
+        listedContent = []
         for key in currentContent.keys():
             if key not in self.__filesInfo.keys():
-                if self.__onAddedFileCallback != None:
-                    fileName = os.path.join(directory, currentContent[key])
-                    if not self.__onAddedFileCallback(self.getName(), 
fileName):
-                        del currentContent[key]
+                fileName = os.path.join(directory, currentContent[key])
+                (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = 
os.stat(fileName)
+                listedContent.append([
+                    key,
+                    fileName,
+                    ctime,
+                ])
+        sortedContent = []
+        while len(listedContent) > 0:
+            older = 99999999999
+            match = []
+            for fileInfo in listedContent:
+                if fileInfo[2] < older:
+                    match = fileInfo
+                    older = fileInfo[2]
+            listedContent.remove(match)
+            sortedContent.append(match)
+        for fileInfo in sortedContent:
+            if self.__onAddedFileCallback != None:
+                if not self.__onAddedFileCallback(self.getName(), fileInfo[1]):
+                    del currentContent[fileInfo[0]]
         self.__filesInfo = currentContent
 
     # 
--------------------------------------------------------------------------


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to