X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Frecord.py;h=8a50a65e2e6086201a77f4ef78ca5bd8df5a0833;hb=ecb052281cdf5f2713eb2f1d5103b2b4e7a5ebd3;hp=a539f620e5d403c9806821b4d372123545592677;hpb=06b330f0ee047bdb107e43e82b1d7356c876bc15;p=sfa.git diff --git a/sfa/util/record.py b/sfa/util/record.py index a539f620..8a50a65e 100644 --- a/sfa/util/record.py +++ b/sfa/util/record.py @@ -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.