[Neo-report] r2266 vincent - /trunk/neo/client/iterator.py

nobody at svn.erp5.org nobody at svn.erp5.org
Sun Aug 29 11:50:35 CEST 2010


Author: vincent
Date: Sun Aug 29 11:50:34 2010
New Revision: 2266

Log:
Allow iterating multiple times over transaction content.

Modified:
    trunk/neo/client/iterator.py

Modified: trunk/neo/client/iterator.py
==============================================================================
--- trunk/neo/client/iterator.py [iso-8859-1] (original)
+++ trunk/neo/client/iterator.py [iso-8859-1] Sun Aug 29 11:50:34 2010
@@ -48,6 +48,7 @@ class Transaction(BaseStorage.Transactio
         self.description = desc
         self._extension = ext
         self.oid_list = oid_list
+        self.oid_index = 0
         self.history = []
         self.prev_serial_dict = prev_serial_dict
 
@@ -59,8 +60,11 @@ class Transaction(BaseStorage.Transactio
         app = self.app
         if not self.oid_list:
             # no more records for this transaction
+            self.oid_index = 0
             raise StopIteration
-        oid = self.oid_list.pop()
+        oid_index = self.oid_index
+        oid = self.oid_list[oid_index]
+        self.oid_index = oid_index + 1
         # load an object
         data, _, next_tid = app._load(oid, serial=self.tid)
         record = Record(oid, self.tid, '', data,





More information about the Neo-report mailing list