added get_field method
authorsmbaker <smbaker@fc8clean.lan>
Tue, 30 Aug 2011 16:40:55 +0000 (09:40 -0700)
committersmbaker <smbaker@fc8clean.lan>
Tue, 30 Aug 2011 16:40:55 +0000 (09:40 -0700)
sfa/util/record.py

index a539f62..8a50a65 100644 (file)
@@ -207,6 +207,22 @@ class SfaRecord(Row):
         """
         return GID(string=self.gid)
 
+    ##
+    # Returns the value of a field
+
+    def get_field(self, fieldname, default=None):
+        # sometimes records act like classes, and sometimes they act like dicts
+        try:
+            return getattr(self, fieldname)
+        except AttributeError:
+            try:
+                 return self[fieldname]
+            except KeyError:
+                 if default != None:
+                     return default
+                 else:
+                     raise
+
     ##
     # Returns a list of field names in this record.