From a5cafc0346e45cb4ee49d13cae2e9e7a1eadfdcf Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Thu, 17 Mar 2016 17:00:00 -0400 Subject: [PATCH] config: string type object: null sets prop to default value Signed-off-by: Philippe Proulx --- barectf/config.py | 15 +++++++++------ barectf/metadata.py | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/barectf/config.py b/barectf/config.py index 752e029..e0b47e6 100644 --- a/barectf/config.py +++ b/barectf/config.py @@ -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 diff --git a/barectf/metadata.py b/barectf/metadata.py index f435dfb..ff34329 100644 --- a/barectf/metadata.py +++ b/barectf/metadata.py @@ -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 -- 2.34.1