diff options
author | Yujun Zhang <zhang.yujunz@zte.com.cn> | 2017-02-14 15:20:16 +0800 |
---|---|---|
committer | Yujun Zhang <zhang.yujunz@zte.com.cn> | 2017-02-15 06:54:40 +0800 |
commit | 6add7fcac82f9b807e71fe84d16c673682d82327 (patch) | |
tree | 7abc0649f11c17d3d48ad914a4602d9d8d00c17a /qtip/loader/yaml_file.py | |
parent | 93421c6375a450baa7bedb323e36b5efd238a58d (diff) |
Add test for yaml_file loader
Change-Id: I997ceeed17bd35889f6b0f3465bbe75df256b71e
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'qtip/loader/yaml_file.py')
-rw-r--r-- | qtip/loader/yaml_file.py | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/qtip/loader/yaml_file.py b/qtip/loader/yaml_file.py index f1cd4614..ccaee8db 100644 --- a/qtip/loader/yaml_file.py +++ b/qtip/loader/yaml_file.py @@ -7,11 +7,10 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -from collections import defaultdict from os import path import yaml -from qtip.base.error import InvalidFormat +from qtip.base.error import InvalidContent from qtip.base.constant import BaseProp from qtip.loader.file import FileLoader @@ -21,13 +20,9 @@ class YamlFileLoader(FileLoader): def __init__(self, name, paths=None): super(YamlFileLoader, self).__init__(name, paths) - content = defaultdict(lambda: None) - - try: - content.update(yaml.safe_load(file(self._abspath))) - except yaml.YAMLError: - # TODO(yujunz) log yaml error - raise InvalidFormat(self._abspath) - - self.name = content[BaseProp.NAME] or path.splitext(name)[0] - self.content = content + with open(self._abspath, 'r') as stream: + content = yaml.safe_load(stream) + if not isinstance(content, dict): + raise InvalidContent(self._abspath) + self.content = content + self.name = content.get(BaseProp.NAME, path.splitext(name)[0]) |