Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 31 Aug 2011 20:09:11 +0000 (16:09 -0400)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Wed, 31 Aug 2011 20:09:11 +0000 (16:09 -0400)
sfa.spec
sfa/util/record.py

index 684a923..27d34ac 100644 (file)
--- a/sfa.spec
+++ b/sfa.spec
@@ -1,6 +1,6 @@
 %define name sfa
 %define version 1.0
-%define taglevel 33
+%define taglevel 35
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
@@ -196,6 +196,13 @@ fi
 [ "$1" -ge "1" ] && service sfa-cm restart || :
 
 %changelog
+* Tue Aug 30 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-35
+- new method record.get_field for sface
+
+* Mon Aug 29 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-34
+- new option -c to sfa-nuke-plc.py
+- CreateSliver fixed for admin-only slice tags
+
 * Wed Aug 24 2011 Tony Mack <tmack@cs.princeton.edu> - sfa-1.0-32
 - Fixed exploit that allowed an authorities to issue certs for objects that dont belong to them.
 - Fixed holes in certificate verification logic.
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.