changeset 13:6e2a56299559

Fixed the failig doctest from my last commit.
author Atul Varma <varmaa@toolness.com>
date Fri, 15 Feb 2008 05:25:22 -0600
parents 67ee6546921f
children c0f6c19a4245
files PersonasBackend/personas/models.py
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/PersonasBackend/personas/models.py	Fri Feb 15 05:15:00 2008 -0600
+++ b/PersonasBackend/personas/models.py	Fri Feb 15 05:25:22 2008 -0600
@@ -169,6 +169,7 @@
 
             for attr in delta:
                 setattr(rev, attr, delta[attr])
+                setattr(rev, "has_%s" % attr, True)
             rev.save()
 
             self.revision += 1
@@ -236,6 +237,10 @@
 
     # Versioned fields
 
+    for attr in Persona.VERSIONED_PROPERTIES:
+        locals()["has_%s" % attr] = models.BooleanField(default=False)
+    del attr
+
     name = models.CharField(
         maxlength=Persona.MAX_NAME_LENGTH,
         null=True,
@@ -318,9 +323,8 @@
         for rev in futureRevs:
             attrsFound = []
             for attr in attrsLeft:
-                value = getattr(rev, attr)
-                if value != None:
-                    setattr(self, attr, value)
+                if getattr(rev, "has_%s" % attr):
+                    setattr(self, attr, getattr(rev, attr))
                     attrsFound.append(attr)
             if attrsFound:
                 attrsLeft = [ attr for attr in attrsLeft