[tuxdroid-svn] r4872 - in software_suite_v3/smart-core/smart-server/trunk: resources/04_robot_cont
Status: Beta
Brought to you by:
ks156
|
From: remi <c2m...@c2...> - 2009-06-23 14:17:28
|
Author: remi
Date: 2009-06-23 16:17:01 +0200 (Tue, 23 Jun 2009)
New Revision: 4872
Modified:
software_suite_v3/smart-core/smart-server/trunk/resources/04_robot_content_interactions/00_resourceRobotContentInteractions.py
software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/Ugc.py
software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/UgcContainer.py
Log:
* auto-sort of gadgets by time creation.
Modified: software_suite_v3/smart-core/smart-server/trunk/resources/04_robot_content_interactions/00_resourceRobotContentInteractions.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/resources/04_robot_content_interactions/00_resourceRobotContentInteractions.py 2009-06-23 13:04:58 UTC (rev 4871)
+++ software_suite_v3/smart-core/smart-server/trunk/resources/04_robot_content_interactions/00_resourceRobotContentInteractions.py 2009-06-23 14:17:01 UTC (rev 4872)
@@ -373,7 +373,10 @@
def insertOnDemand(self, ugc):
"""
"""
- self.__onDemandList.append(ugc)
+ self.__onDemandList = []
+ for ugcObj in resourceUgcServer.getUgcContainer().getUgcs():
+ if ugcObj.getDescription().onDemandIsActivated():
+ self.__onDemandList.append(ugcObj)
self.computeOnDemandDictForThumbnailBar()
def removeOnDemand(self, ugc):
Modified: software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/Ugc.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/Ugc.py 2009-06-23 13:04:58 UTC (rev 4871)
+++ software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/Ugc.py 2009-06-23 14:17:01 UTC (rev 4872)
@@ -34,6 +34,8 @@
self.__ugcFile = ugcFile
# Save the parent gadget object
self.__parentGadget = parentGadget
+ # Creation time of the ugc file
+ self.__ugcFileCreationTime = None
# Create descriptor
self.__description = UgcDescription(self, dictionary['description'])
# Create ugc parameters
@@ -227,6 +229,24 @@
return self.__ugcFile
# --------------------------------------------------------------------------
+ # Set the creation time of the ugc file.
+ # --------------------------------------------------------------------------
+ def setUgcFileCreationTime(self, value):
+ """Set the creation time of the ugc file.
+ @param value: An integer.
+ """
+ self.__ugcFileCreationTime = value
+
+ # --------------------------------------------------------------------------
+ # Get the creation time of the ugc file.
+ # --------------------------------------------------------------------------
+ def getUgcFileCreationTime(self):
+ """Get the creation time of the ugc file.
+ @return: An integer.
+ """
+ return self.__ugcFileCreationTime
+
+ # --------------------------------------------------------------------------
# Get the parent UGCs container.
# --------------------------------------------------------------------------
def getContainer(self):
Modified: software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/UgcContainer.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/UgcContainer.py 2009-06-23 13:04:58 UTC (rev 4871)
+++ software_suite_v3/smart-core/smart-server/trunk/util/applicationserver/ugc/UgcContainer.py 2009-06-23 14:17:01 UTC (rev 4872)
@@ -200,6 +200,7 @@
"Can't read the ugc file")
self.__mutex.release()
return False
+ (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(fileName)
# Get the parent gadget
if not ugcDataDict.has_key('parentGadget'):
if self.__onUgcDeploymentErrorCallback != None:
@@ -220,6 +221,7 @@
# Create the Ugc
try:
ugc = Ugc(self, ugcDataDict, fileName, parentGadget)
+ ugc.setUgcFileCreationTime(ctime)
except:
if self.__onUgcDeploymentErrorCallback != None:
self.__onUgcDeploymentErrorCallback(observerName, fileName,
@@ -229,9 +231,23 @@
return False
# Add the Ugc in the container
self.__ugcs.append(ugc)
+ # Sort the ugc list by creation time
+ unSortedList = []
+ for ugcObj in self.__ugcs:
+ unSortedList.append(ugcObj)
+ self.__ugcs = []
+ while len(unSortedList) > 0:
+ older = 99999999999
+ match = None
+ for ugcObj in unSortedList:
+ if ugcObj.getUgcFileCreationTime() < older:
+ match = ugcObj
+ older = ugcObj.getUgcFileCreationTime()
+ unSortedList.remove(match)
+ self.__ugcs.append(match)
+ self.__mutex.release()
if self.__onUgcDeployedCallback != None:
self.__onUgcDeployedCallback(ugc, fileName)
- self.__mutex.release()
return True
# --------------------------------------------------------------------------
|