diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2016-11-28 17:28:21 +0000 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2016-11-28 17:37:26 +0000 |
commit | 7f54e028605f3c8a5151fabe3190ec5bbb19503a (patch) | |
tree | e00eb32833481872d64489f808fdd102a940e8c4 /buildstream | |
parent | c9e2e98f75da7f361125850c143f1a33719ba339 (diff) | |
download | buildstream-7f54e028605f3c8a5151fabe3190ec5bbb19503a.tar.gz |
Context: Now use new _yaml module for loading the yaml
Diffstat (limited to 'buildstream')
-rw-r--r-- | buildstream/context.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/buildstream/context.py b/buildstream/context.py index 905a89070..39c390066 100644 --- a/buildstream/context.py +++ b/buildstream/context.py @@ -37,7 +37,9 @@ The default BuildStream configuration is included here for reference: """ from . import _site -from . import utils +from . import _yaml +from ._yaml import CompositeTypeError +from . import LoadError, LoadErrorReason class Context(): """Context of how BuildStream was invoked @@ -81,10 +83,17 @@ class Context(): # Load default config # - defaults = utils.load_yaml_dict(_site.default_config) + defaults = _yaml.load(_site.default_config) if config: - user_config = utils.load_yaml_dict(config) - defaults = utils.dictionary_override(defaults, user_config) + user_config = _yaml.load(config) + try: + _yaml.composite_dict(defaults, user_config, typesafe=True) + except CompositeTypeError as e: + raise LoadError(LoadErrorReason.ILLEGAL_COMPOSITE, + "Expected '%s' type for configuration '%s', instead received '%s'" % + (e.expected_type.__name__, + e.path, + e.actual_type.__name__)) from e # Should have a loop here, but we suck # |