summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Schubert <ben.c.schubert@gmail.com>2019-07-11 17:02:51 +0100
committerbst-marge-bot <marge-bot@buildstream.build>2019-07-15 14:14:03 +0000
commit2c7674169ab3368b7f2353ce04ba5b8692608867 (patch)
treecb1543c08152b02c19c5e993599790fe6c652069
parent301d40d1a42c056f7c9e8e734b6ce6251378cafb (diff)
downloadbuildstream-2c7674169ab3368b7f2353ce04ba5b8692608867.tar.gz
node: make 'assert_symbol_name' private
This is not needed for plugins and should therefore not be public
-rw-r--r--src/buildstream/_frontend/app.py4
-rw-r--r--src/buildstream/_options/option.py4
-rw-r--r--src/buildstream/_options/optionpool.py4
-rw-r--r--src/buildstream/_project.py6
-rw-r--r--src/buildstream/node.pyx32
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))