Making each object have a list of its previous revisions.
This commit is contained in:
parent
8e6b152483
commit
852a432712
|
@ -2,13 +2,22 @@ from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
class Persistent( object ):
|
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 ):
|
def __init__( self, object_id, secondary_id = None ):
|
||||||
self.__object_id = object_id
|
self.__object_id = object_id
|
||||||
self.__secondary_id = secondary_id
|
self.__secondary_id = secondary_id
|
||||||
self.__revision = datetime.now()
|
self.__revision = datetime.now()
|
||||||
|
self.__revisions_list = [ self.__revision ]
|
||||||
|
|
||||||
def update_revision( self ):
|
def update_revision( self ):
|
||||||
self.__revision = datetime.now()
|
self.__revision = datetime.now()
|
||||||
|
self.__revisions_list.append( self.__revision )
|
||||||
|
|
||||||
def revision_id( self ):
|
def revision_id( self ):
|
||||||
return "%s %s" % ( self.__object_id, self.__revision )
|
return "%s %s" % ( self.__object_id, self.__revision )
|
||||||
|
@ -29,3 +38,4 @@ class Persistent( object ):
|
||||||
object_id = property( lambda self: self.__object_id )
|
object_id = property( lambda self: self.__object_id )
|
||||||
secondary_id = property( lambda self: self.__secondary_id )
|
secondary_id = property( lambda self: self.__secondary_id )
|
||||||
revision = property( lambda self: self.__revision )
|
revision = property( lambda self: self.__revision )
|
||||||
|
revisions_list = property( lambda self: self.__revisions_list )
|
||||||
|
|
Reference in New Issue
Block a user