witten
/
luminotes
Archived
1
0
Fork 0

Making each object have a list of its previous revisions.

This commit is contained in:
Dan Helfman 2007-07-21 04:17:31 +00:00
parent 8e6b152483
commit 852a432712
1 changed files with 10 additions and 0 deletions

View File

@ -2,13 +2,22 @@ from datetime import datetime
class Persistent( object ):
def __setstate__( self, state ):
key = "_Persistent__revisions_list"
if key not in state:
state[ key ] = [ state[ "_Persistent__revision" ] ]
self.__dict__.update( state )
def __init__( self, object_id, secondary_id = None ):
self.__object_id = object_id
self.__secondary_id = secondary_id
self.__revision = datetime.now()
self.__revisions_list = [ self.__revision ]
def update_revision( self ):
self.__revision = datetime.now()
self.__revisions_list.append( self.__revision )
def revision_id( self ):
return "%s %s" % ( self.__object_id, self.__revision )
@ -29,3 +38,4 @@ class Persistent( object ):
object_id = property( lambda self: self.__object_id )
secondary_id = property( lambda self: self.__secondary_id )
revision = property( lambda self: self.__revision )
revisions_list = property( lambda self: self.__revisions_list )