From 852a432712b9a6617c3fa927a90733b0e73c976d Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sat, 21 Jul 2007 04:17:31 +0000 Subject: [PATCH] Making each object have a list of its previous revisions. --- model/Persistent.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/model/Persistent.py b/model/Persistent.py index d344b22..069e38f 100644 --- a/model/Persistent.py +++ b/model/Persistent.py @@ -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 )