diff --git a/src/yafowil/yaml/parser.py b/src/yafowil/yaml/parser.py index 73dc8cc..8e8e2c1 100644 --- a/src/yafowil/yaml/parser.py +++ b/src/yafowil/yaml/parser.py @@ -98,7 +98,15 @@ def create_tree(self, data): def call_factory(defs): props = dict() for k, v in defs.get('props', dict()).items(): - props[k] = self.parse_definition_value(v) + if isinstance(v, dict): + dict_attrs = list() + for vk, vv in v.items(): + val = self.parse_definition_value(vv) + part = [vk, val] + dict_attrs.append(part) + props[k] = dict_attrs + else: + props[k] = self.parse_definition_value(v) custom = dict() for custom_key, custom_value in defs.get('custom', dict()).items(): custom_props = list()