Make toDict "dereference" the 'name' property if it is present
authorSverre Rabbelier <srabbelier@gmail.com>
Wed, 04 Feb 2009 23:01:36 +0000
changeset 1213 365b4a2df40d
parent 1212 1b64b5922227
child 1214 7fb705534dd1
Make toDict "dereference" the 'name' property if it is present This makes it possible to turn 'name' into a consistent alias that can be used to represent an entity. Patch by: Sverre Rabbelier
app/soc/models/base.py
--- a/app/soc/models/base.py	Wed Feb 04 22:52:33 2009 +0000
+++ b/app/soc/models/base.py	Wed Feb 04 23:01:36 2009 +0000
@@ -53,13 +53,19 @@
     """
 
     result = {}
+    props = self.properties()
 
-    for key, value in self.properties().iteritems():
+    for key, value in props.iteritems():
       # Skip everything but StringProperties
       if not isinstance(value, db.StringProperty):
         continue
       result[key] = getattr(self, key)
 
+    if hasattr(self, 'name'):
+      name_prop = getattr(self, 'name')
+      if callable(name_prop):
+        result['name'] = name_prop()
+
     return result
 
   @classmethod