diff options
author | Benjamin Schubert <ben.c.schubert@gmail.com> | 2019-07-11 17:02:51 +0100 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-07-15 14:14:03 +0000 |
commit | 2c7674169ab3368b7f2353ce04ba5b8692608867 (patch) | |
tree | cb1543c08152b02c19c5e993599790fe6c652069 /src | |
parent | 301d40d1a42c056f7c9e8e734b6ce6251378cafb (diff) | |
download | buildstream-2c7674169ab3368b7f2353ce04ba5b8692608867.tar.gz |
node: make 'assert_symbol_name' private
This is not needed for plugins and should therefore not be public
Diffstat (limited to 'src')
-rw-r--r-- | src/buildstream/_frontend/app.py | 4 | ||||
-rw-r--r-- | src/buildstream/_options/option.py | 4 | ||||
-rw-r--r-- | src/buildstream/_options/optionpool.py | 4 | ||||
-rw-r--r-- | src/buildstream/_project.py | 6 | ||||
-rw-r--r-- | src/buildstream/node.pyx | 32 |
5 files changed, 25 insertions, 25 deletions
diff --git a/src/buildstream/_frontend/app.py b/src/buildstream/_frontend/app.py index 2c0dcb1e7..0479b8c19 100644 --- a/src/buildstream/_frontend/app.py +++ b/src/buildstream/_frontend/app.py @@ -349,7 +349,7 @@ class App(): if project_name: # If project name was specified, user interaction is not desired, just # perform some validation and write the project.conf - node.assert_symbol_name(project_name, 'project name') + node._assert_symbol_name(project_name, 'project name') self._assert_format_version(format_version) self._assert_element_path(element_path) @@ -801,7 +801,7 @@ class App(): def project_name_proc(user_input): try: - node.assert_symbol_name(None, user_input, 'project name') + node._assert_symbol_name(None, user_input, 'project name') except LoadError as e: message = "{}\n\n{}\n".format(e, e.detail) raise UsageError(message) from e diff --git a/src/buildstream/_options/option.py b/src/buildstream/_options/option.py index 98090e1b5..da1191310 100644 --- a/src/buildstream/_options/option.py +++ b/src/buildstream/_options/option.py @@ -17,7 +17,7 @@ # Authors: # Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> -from ..node import assert_symbol_name +from ..node import _assert_symbol_name # Shared symbols for validation purposes @@ -66,7 +66,7 @@ class Option(): # Assert valid symbol name for variable name if self.variable is not None: - assert_symbol_name(self.variable, 'variable name', ref_node=node.get_node('variable')) + _assert_symbol_name(self.variable, 'variable name', ref_node=node.get_node('variable')) # load_value() # diff --git a/src/buildstream/_options/optionpool.py b/src/buildstream/_options/optionpool.py index 56adf68f2..d7541530b 100644 --- a/src/buildstream/_options/optionpool.py +++ b/src/buildstream/_options/optionpool.py @@ -21,7 +21,7 @@ import jinja2 from .._exceptions import LoadError, LoadErrorReason -from ..node import MappingNode, SequenceNode, assert_symbol_name +from ..node import MappingNode, SequenceNode, _assert_symbol_name from .optionbool import OptionBool from .optionenum import OptionEnum from .optionflags import OptionFlags @@ -68,7 +68,7 @@ class OptionPool(): for option_name, option_definition in options.items(): # Assert that the option name is a valid symbol - assert_symbol_name(option_name, "option name", ref_node=option_definition, allow_dashes=False) + _assert_symbol_name(option_name, "option name", ref_node=option_definition, allow_dashes=False) opt_type_name = option_definition.get_str('type') try: diff --git a/src/buildstream/_project.py b/src/buildstream/_project.py index a9956421a..eb2a078f2 100644 --- a/src/buildstream/_project.py +++ b/src/buildstream/_project.py @@ -33,7 +33,7 @@ from ._exceptions import LoadError, LoadErrorReason from ._options import OptionPool from ._artifactcache import ArtifactCache from ._sourcecache import SourceCache -from .node import ScalarNode, SequenceNode, assert_symbol_name +from .node import ScalarNode, SequenceNode, _assert_symbol_name from .sandbox import SandboxRemote from ._elementfactory import ElementFactory from ._sourcefactory import SourceFactory @@ -595,8 +595,8 @@ class Project(): self.name = self._project_conf.get_str('name') # Validate that project name is a valid symbol name - assert_symbol_name(self.name, "project name", - ref_node=pre_config_node.get_node('name')) + _assert_symbol_name(self.name, "project name", + ref_node=pre_config_node.get_node('name')) self.element_path = os.path.join( self.directory, diff --git a/src/buildstream/node.pyx b/src/buildstream/node.pyx index 30814b782..d20ff664f 100644 --- a/src/buildstream/node.pyx +++ b/src/buildstream/node.pyx @@ -824,7 +824,21 @@ cdef class ProvenanceInformation: return "{} [line {:d} column {:d}]".format(self._displayname, self._line, self._col) -# assert_symbol_name() +############################################################# +# BuildStream Private methods # +############################################################# +# Purely synthetic nodes will have _SYNTHETIC_FILE_INDEX for the file number, have line number +# zero, and a negative column number which comes from inverting the next value +# out of this counter. Synthetic nodes created with a reference node will +# have a file number from the reference node, some unknown line number, and +# a negative column number from this counter. +cdef int _SYNTHETIC_FILE_INDEX = -1 + +# File name handling +cdef list _FILE_LIST = [] + + +# _assert_symbol_name() # # A helper function to check if a loaded string is a valid symbol # name and to raise a consistent LoadError if not. For strings which @@ -842,7 +856,7 @@ cdef class ProvenanceInformation: # 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(str symbol_name, str purpose, *, Node ref_node=None, 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 += '-' @@ -871,20 +885,6 @@ def assert_symbol_name(str symbol_name, str purpose, *, Node ref_node=None, bint message, detail=detail) -############################################################# -# BuildStream Private methods # -############################################################# -# Purely synthetic nodes will have _SYNTHETIC_FILE_INDEX for the file number, have line number -# zero, and a negative column number which comes from inverting the next value -# out of this counter. Synthetic nodes created with a reference node will -# have a file number from the reference node, some unknown line number, and -# a negative column number from this counter. -cdef int _SYNTHETIC_FILE_INDEX = -1 - -# File name handling -cdef list _FILE_LIST = [] - - cdef Py_ssize_t _create_new_file(str filename, str shortname, str displayname, Node toplevel, object project): cdef Py_ssize_t file_number = len(_FILE_LIST) _FILE_LIST.append(_FileInfo(filename, shortname, displayname, None, project)) |