[Erp5-report] r18774 - /erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 17 15:44:39 CET 2008


Author: nicolas
Date: Thu Jan 17 15:44:39 2008
New Revision: 18774

URL: http://svn.erp5.org?rev=18774&view=rev
Log:
Split list processing in activities

Modified:
    erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py

Modified: erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py?rev=18774&r1=18773&r2=18774&view=diff
==============================================================================
--- erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py (original)
+++ erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py Thu Jan 17 15:44:39 2008
@@ -1487,11 +1487,27 @@
     """
     object_list = domain.getObjectList()
     gid_list = [domain.getGidFromObject(x) for x in object_list]
+    domain_path = domain.getPath()
+    subscriber_path = subscriber.getPath()
+    while len(gid_list):
+      sliced_gid_list = [gid_list.pop() for i in gid_list[:self.MAX_OBJECTS]]
+      #Split List Processing in activities
+      self.activate(activity='SQLQueue',
+                    tag=domain.getId()).activateDeleteRemainObjectList(domain_path,
+                                                                       subscriber_path,
+                                                                       sliced_gid_list)
+
+  def activateDeleteRemainObjectList(self, domain_path, subscriber_path, gid_list):
+    """
+    Execute Deletion in Activities
+    """
+    domain = self.unrestrictedTraverse(domain_path)
+    subscriber = self.unrestrictedTraverse(subscriber_path)
     destination = self.unrestrictedTraverse(domain.getDestinationPath())
     conduit_name = subscriber.getConduit()
     conduit = self.getConduitByName(conduit_name)
     for gid in gid_list:
-      if gid not in subscriber.getGidList():
+      if subscriber.getSignatureFromGid(gid) is None:
         object_id = b16decode(gid)
         conduit.deleteObject(object=destination, object_id=object_id)
 




More information about the Erp5-report mailing list