[Neo-report] r1980 gregory - in /trunk/neo/client: Storage.py app.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Mar 30 13:11:19 CEST 2010
Author: gregory
Date: Tue Mar 30 13:11:18 2010
New Revision: 1980
Log:
Add Storage.importFrom() API to import only a part of a storage.
Modified:
trunk/neo/client/Storage.py
trunk/neo/client/app.py
Modified: trunk/neo/client/Storage.py
==============================================================================
--- trunk/neo/client/Storage.py [iso-8859-1] (original)
+++ trunk/neo/client/Storage.py [iso-8859-1] Tue Mar 30 13:11:18 2010
@@ -137,7 +137,14 @@
self.app.sync()
def copyTransactionsFrom(self, source, verbose=False):
- return self.app.copyTransactionsFrom(source, self.tryToResolveConflict)
+ """ Zope compliant API """
+ return self.app.importFrom(source, None, None,
+ self.tryToResolveConflict)
+
+ def importFrom(self, source, start=None, stop=None):
+ """ Allow import only a part of the source storage """
+ return self.app.importFrom(source, start, stop,
+ self.tryToResolveConflict)
def restore(self, oid, serial, data, version, prev_txn, transaction):
raise NotImplementedError
Modified: trunk/neo/client/app.py
==============================================================================
--- trunk/neo/client/app.py [iso-8859-1] (original)
+++ trunk/neo/client/app.py [iso-8859-1] Tue Mar 30 13:11:18 2010
@@ -1015,7 +1015,7 @@
return history_list
- def copyTransactionsFrom(self, source, tryToResolveConflict):
+ def importFrom(self, source, start, stop, tryToResolveConflict):
serials = {}
def updateLastSerial(oid, result):
if result:
@@ -1026,7 +1026,7 @@
for oid, serial in result:
assert isinstance(serial, str), serial
serials[oid] = serial
- transaction_iter = source.iterator()
+ transaction_iter = source.iterator(start, stop)
for transaction in transaction_iter:
self.tpc_begin(transaction, transaction.tid, transaction.status)
for r in transaction:
More information about the Neo-report
mailing list