diff options
author | Benjamin Schubert <ben.c.schubert@gmail.com> | 2019-07-05 17:59:15 +0100 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-07-15 14:14:03 +0000 |
commit | 695eddc069c9803eca5d004e80ca7be7defdd20c (patch) | |
tree | 39869eda62d451bb188925f2947872a006e2128d /src/buildstream/_yaml.pyx | |
parent | 2b1c63b50b11293377e87df802f35489e5f86c12 (diff) | |
download | buildstream-695eddc069c9803eca5d004e80ca7be7defdd20c.tar.gz |
_yaml: rework 'assert_symbol_names' to not require provenance
Now that we get scalar Nodes, it is easier to just give the node and
extract the provenance as needed.
Diffstat (limited to 'src/buildstream/_yaml.pyx')
-rw-r--r-- | src/buildstream/_yaml.pyx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/buildstream/_yaml.pyx b/src/buildstream/_yaml.pyx index 2df6a7d1b..a84c05759 100644 --- a/src/buildstream/_yaml.pyx +++ b/src/buildstream/_yaml.pyx @@ -1219,9 +1219,9 @@ cdef Node _new_node_from_list(list inlist, Node ref_node): # are required to be symbols. # # Args: -# provenance (Provenance): The provenance of the loaded symbol, or None # symbol_name (str): The loaded symbol name # purpose (str): The purpose of the string, for an error message +# ref_node (Node): The node of the loaded symbol, or None # allow_dashes (bool): Whether dashes are allowed for this symbol # # Raises: @@ -1230,7 +1230,7 @@ cdef Node _new_node_from_list(list inlist, Node ref_node): # Note that dashes are generally preferred for variable names and # usage in YAML, but things such as option names which will be # evaluated with jinja2 cannot use dashes. -def assert_symbol_name(ProvenanceInformation provenance, str symbol_name, str purpose, *, bint allow_dashes=True): +def assert_symbol_name(str symbol_name, str purpose, *, Node ref_node=None, bint allow_dashes=True): cdef str valid_chars = string.digits + string.ascii_letters + '_' if allow_dashes: valid_chars += '-' @@ -1250,8 +1250,10 @@ def assert_symbol_name(ProvenanceInformation provenance, str symbol_name, str pu detail += " or dashes" message = "Invalid symbol name for {}: '{}'".format(purpose, symbol_name) - if provenance is not None: - message = "{}: {}".format(provenance, message) + if ref_node: + provenance = node_get_provenance(ref_node) + if provenance is not None: + message = "{}: {}".format(provenance, message) raise LoadError(LoadErrorReason.INVALID_SYMBOL_NAME, message, detail=detail) |