summaryrefslogtreecommitdiffstats
path: root/qtip/loader
diff options
context:
space:
mode:
Diffstat (limited to 'qtip/loader')
-rw-r--r--qtip/loader/plan.py1
-rw-r--r--qtip/loader/yaml_file.py19
2 files changed, 7 insertions, 13 deletions
diff --git a/qtip/loader/plan.py b/qtip/loader/plan.py
index 6f1764e2..9b5546e0 100644
--- a/qtip/loader/plan.py
+++ b/qtip/loader/plan.py
@@ -26,7 +26,6 @@ class Plan(YamlFileLoader):
self.qpis = [QPISpec(qpi, paths=paths)
for qpi in self.content[PlanProp.QPIS]]
- self.info = self.content[PlanProp.INFO]
_config = self.content[PlanProp.CONFIG]
# TODO(yujunz) create collector by name
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])