Package SCons :: Module Subst
[hide private]
[frames] | no frames]

Module Subst

source code

SCons.Subst

SCons string substitution.



Classes [hide private]
  Literal
A wrapper for a string.
  SpecialAttrWrapper
This is a wrapper for what we call a 'Node special attribute.' This is any of the attributes of a Node that we can reference from Environment variable substitution, such as $TARGET.abspath or $SOURCES[1].filebase.
  CmdStringHolder
This is a special class used to hold strings generated by scons_subst() and scons_subst_list().
  NLWrapper
A wrapper class that delays turning a list of sources or targets into a NodeList until it's needed.
  Targets_or_Sources
A class that implements $TARGETS or $SOURCES expansions by in turn wrapping a NLWrapper.
  Target_or_Source
A class that implements $TARGET or $SOURCE expansions by in turn wrapping a NLWrapper.
  NullNodeList
Functions [hide private]
 
SetAllowableExceptions(*excepts) source code
 
raise_exception(exception, target, s) source code
 
quote_spaces(arg)
Generic function for putting double quotes around any string that has white space in it.
source code
 
escape_list(mylist, escape_func)
Escape a list of arguments by running the specified escape_func on every object in the list that has an escape() method.
source code
 
subst_dict(target, source)
Create a dictionary for substitution of special construction variables.
source code
 
_rm_list(list) source code
 
_remove_list(list) source code
 
scons_subst(strSubst, env, mode=1, target=False, source=False, gvars={}, lvars={}, conv=False)
Expand a string or list containing construction variable substitutions.
source code
 
scons_subst_list(strSubst, env, mode=1, target=False, source=False, gvars={}, lvars={}, conv=False)
Substitute construction variables in a string (or list or other object) and separate the arguments into a command list.
source code
 
scons_subst_once(strSubst, env, key)
Perform single (non-recursive) substitution of a single construction variable keyword.
source code
Variables [hide private]
  __revision__ = 'src/engine/SCons/Subst.py 5023 2010/06/14 22:0...
  _strconv = [SCons.Util.to_String_for_subst, SCons.Util.to_Stri...
  AllowableExceptions = (<type 'exceptions.IndexError'>, <type '...
  NullNodesList = Null(0x083B6D0C)
  SUBST_CMD = 0
  SUBST_RAW = 1
  SUBST_SIG = 2
  _rm = re.compile(r'\$[\(\)]')
  _remove = re.compile(r'\$\([^\$]*(\$[^\)][^\$]*)*\$\)')
  _regex_remove = [re.compile(r'\$[\(\)]'), None, re.compile(r'\...
  _list_remove = [_rm_list, None, _remove_list]
  _dollar_exps_str = '\\$[\\$\\(\\)]|\\$[_a-zA-Z][\\.\\w]*|\\${[...
  _dollar_exps = re.compile(r'(\$[\$\(\)]|[_a-zA-Z][\.\w]*|\{[^\...
  _separate_args = re.compile(r'(\$[\$\(\)]|\$[_a-zA-Z][\.\w]*|\...
  _space_sep = re.compile(r'[\t ]+(?![^\{]*\})')
Function Details [hide private]

subst_dict(target, source)

source code 
Create a dictionary for substitution of special
construction variables.

This translates the following special arguments:

target - the target (object or array of objects),
         used to generate the TARGET and TARGETS
         construction variables

source - the source (object or array of objects),
         used to generate the SOURCES and SOURCE
         construction variables

scons_subst(strSubst, env, mode=1, target=False, source=False, gvars={}, lvars={}, conv=False)

source code 
Expand a string or list containing construction variable
substitutions.

This is the work-horse function for substitutions in file names
and the like.  The companion scons_subst_list() function (below)
handles separating command lines into lists of arguments, so see
that function if that's what you're looking for.

scons_subst_list(strSubst, env, mode=1, target=False, source=False, gvars={}, lvars={}, conv=False)

source code 
Substitute construction variables in a string (or list or other
object) and separate the arguments into a command list.

The companion scons_subst() function (above) handles basic
substitutions within strings, so see that function instead
if that's what you're looking for.

scons_subst_once(strSubst, env, key)

source code 
Perform single (non-recursive) substitution of a single
construction variable keyword.

This is used when setting a variable when copying or overriding values
in an Environment.  We want to capture (expand) the old value before
we override it, so people can do things like:

    env2 = env.Clone(CCFLAGS = '$CCFLAGS -g')

We do this with some straightforward, brute-force code here...


Variables Details [hide private]

__revision__

Value:
'src/engine/SCons/Subst.py 5023 2010/06/14 22:05:46 scons'

_strconv

Value:
[SCons.Util.to_String_for_subst, SCons.Util.to_String_for_subst, SCons\
.Util.to_String_for_signature]

AllowableExceptions

Value:
(<type 'exceptions.IndexError'>, <type 'exceptions.NameError'>)

_regex_remove

Value:
[re.compile(r'\$[\(\)]'),
 None,
 re.compile(r'\$\([^\$]*(\$[^\)][^\$]*)*\$\)')]

_dollar_exps_str

Value:
'\\$[\\$\\(\\)]|\\$[_a-zA-Z][\\.\\w]*|\\${[^}]*}'

_dollar_exps

Value:
re.compile(r'(\$[\$\(\)]|[_a-zA-Z][\.\w]*|\{[^\}]*\})')

_separate_args

Value:
re.compile(r'(\$[\$\(\)]|\$[_a-zA-Z][\.\w]*|\$\{[^\}]*\}|\s+|[^\s\$]+|\
\$)')