diff options
author | Benjamin Schubert <ben.c.schubert@gmail.com> | 2019-07-03 10:55:19 +0100 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-07-15 14:14:03 +0000 |
commit | 9e801b5e1c19c46de8b1e88f416e34e180df83e9 (patch) | |
tree | d5c4e0a438366889bad95e1a86f60d863c7b4997 /src/buildstream/_projectrefs.py | |
parent | 2731d0c634d93bf1381f349e896f266bf34b4987 (diff) | |
download | buildstream-9e801b5e1c19c46de8b1e88f416e34e180df83e9.tar.gz |
_yaml: Remove 'node_extend_list' and add 'SequenceNode.append'
There was a single place using 'node_extend_list', which we can replace
more easily with 'SequenceNode.append'.
Also rewrite _projectrefs.py:_lookup to use the new API more effectively
Diffstat (limited to 'src/buildstream/_projectrefs.py')
-rw-r--r-- | src/buildstream/_projectrefs.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/buildstream/_projectrefs.py b/src/buildstream/_projectrefs.py index d10456b14..c3e669c81 100644 --- a/src/buildstream/_projectrefs.py +++ b/src/buildstream/_projectrefs.py @@ -121,15 +121,16 @@ class ProjectRefs(): # Looks up a ref node in the project.refs file, creates one if ensure is True. # def _lookup(self, toplevel, project, element, source_index, *, ensure=False): + projects = toplevel.get_mapping('projects') + # Fetch the project try: - projects = toplevel.get_mapping('projects') project_node = projects.get_mapping(project) except LoadError: if not ensure: return None - project_node = _yaml.new_empty_node(ref_node=projects) - projects[project] = project_node + projects[project] = {} + project_node = projects.get_mapping(project) # Fetch the element try: @@ -137,8 +138,8 @@ class ProjectRefs(): except LoadError: if not ensure: return None - element_list = _yaml.new_empty_list_node() - project_node[element] = element_list + project_node[element] = [] + element_list = project_node.get_sequence(element) # Fetch the source index try: @@ -147,9 +148,7 @@ class ProjectRefs(): if not ensure: return None - # Pad the list with empty newly created dictionaries - _yaml.node_extend_list(project_node, element, source_index + 1, {}) - - node = project_node.get_sequence(element).mapping_at(source_index) + element_list.append({}) + node = element_list.mapping_at(source_index) return node |