Update of /cvs-repository/Packages/ZODB In directory cvs.zope.org:/tmp/cvs-serv24275/ZODB
Modified Files: Tag: jim-test-storage component.xml config.py Log Message: First cut at as-of option to open to a specific point in time. === Packages/ZODB/component.xml 1.10.6.3 => 1.10.6.3.8.1 === --- Packages/ZODB/component.xml:1.10.6.3 Fri Nov 26 14:36:44 2004 +++ Packages/ZODB/component.xml Thu Jan 19 20:15:09 2006 @@ -35,6 +35,13 @@ raised. </description> </key> + <key name="as-of" datatype="string"> + <description> + The as-of option allows opening a storage at a particilar + time in it's history. The argument is a date-time of the form: + YYYY-MM-DDTHH:MM:SS. + </description> + </key> </sectiontype> <sectiontype name="mappingstorage" datatype=".MappingStorage" === Packages/ZODB/config.py 1.13.4.1 => 1.13.4.1.38.1 === --- Packages/ZODB/config.py:1.13.4.1 Mon Sep 15 14:02:58 2003 +++ Packages/ZODB/config.py Thu Jan 19 20:15:09 2006 @@ -17,6 +17,7 @@ import os from cStringIO import StringIO +import ZODB.Timestamp import ZConfig @@ -122,10 +123,25 @@ def open(self): from ZODB.FileStorage import FileStorage + + as_of = self.config.as_of + if as_of: + if 'T' in as_of: + d, t = as_of.split('T') + else: + d, t = as_of, '0' + + y, m, d = map(int, d.split('-')) + as_of = ZODB.TimeStamp.TimeStamp(y, m, d, *t.split(':')) + else: + as_of = None + return FileStorage(self.config.path, create=self.config.create, read_only=self.config.read_only, - quota=self.config.quota) + quota=self.config.quota, + stop=as_of, + ) class ZEOClient(BaseConfig): _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins