Merge branch 'mainstream'
[sliver-openvswitch.git] / python / ovs / db / types.py
index fc9fc0a..bd1c259 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2009, 2010, 2011, 2012 Nicira Networks
+# Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -287,7 +287,9 @@ class BaseType(object):
         if self.enum:
             literals = [value.toEnglish(escapeLiteral)
                         for value in self.enum.values]
-            if len(literals) == 2:
+            if len(literals) == 1:
+                english = 'must be %s' % (literals[0])
+            elif len(literals) == 2:
                 english = 'either %s or %s' % (literals[0], literals[1])
             else:
                 english = 'one of %s, %s, or %s' % (literals[0],
@@ -450,6 +452,11 @@ class Type(object):
     def is_map(self):
         return self.value is not None
 
+    def is_smap(self):
+        return (self.is_map()
+                and self.key.type == StringType
+                and self.value.type == StringType)
+
     def is_optional_pointer(self):
         return (self.is_optional() and not self.value
                 and (self.key.type == StringType or self.key.ref_table_name))