[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