config: string type object: null sets prop to default value
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 17 Mar 2016 21:00:00 +0000 (17:00 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 18 Mar 2016 21:55:00 +0000 (17:55 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
barectf/config.py
barectf/metadata.py

index 752e0297537f51acb075f3c05ef1a85bb5c5dcf3..e0b47e62d391bff3e6dfbd281e5d8518dc06b136 100644 (file)
@@ -1594,15 +1594,18 @@ class _YamlConfigParser:
         if 'encoding' in node:
             encoding = node['encoding']
 
-            if not _is_str_prop(encoding):
-                raise ConfigError('"encoding" property of string type object must be a string ("none", "ascii", or "utf-8")')
+            if encoding is None:
+                obj.set_default_encoding()
+            else:
+                if not _is_str_prop(encoding):
+                    raise ConfigError('"encoding" property of string type object must be a string ("none", "ascii", or "utf-8")')
 
-            encoding = _encoding_str_to_encoding(encoding)
+                encoding = _encoding_str_to_encoding(encoding)
 
-            if encoding is None:
-                raise ConfigError('invalid "encoding" property in string type object')
+                if encoding is None:
+                    raise ConfigError('invalid "encoding" property in string type object')
 
-            obj.encoding = encoding
+                obj.encoding = encoding
 
         return obj
 
index f435dfbb59280442e3daa7a96e74f45cdd5afd8f..ff343293e1257e9c22ce9854cc9f41775ac0c100 100644 (file)
@@ -294,6 +294,9 @@ class Enum(Type):
 
 class String(Type):
     def __init__(self):
+        self.set_default_encoding()
+
+    def set_default_encoding(self):
         self._encoding = Encoding.UTF8
 
     @property
This page took 0.043836 seconds and 4 git commands to generate.