parameters: (self, path, target=None, source=None)
return_statement: return r
docstring: Substitute a path list, turning EntryProxies into Nodes
          and leaving Nodes (and other objects) as-is.
docstring_summary: Substitute a path list, turning EntryProxies into Nodes
          and leaving Nodes (and other objects) as-is.
docstring_tokens: Substitute a path list turning EntryProxies into Nodes and leaving Nodes ( and other objects ) as - is .
function: def subst_path(self, path, target=None, source=None):
          """Substitute a path list, turning EntryProxies into Nodes
          and leaving Nodes (and other objects) as-is."""
  
          if not SCons.Util.is_List(path):
              path = [path]
  
          def s(obj):
              """This is the "string conversion" routine that we have our
              substitutions use to return Nodes, not strings.  This relies
              on the fact that an EntryProxy object has a get() method that
              returns the underlying Node that it wraps, which is a bit of
              architectural dependence that we might need to break or modify
              in the future in response to additional requirements."""
              try:
                  get = obj.get
              except AttributeError:
                  obj = SCons.Util.to_String_for_subst(obj)
              else:
                  obj = get()
              return obj
  
          r = []
          for p in path:
              if SCons.Util.is_String(p):
                  p = self.subst(p, target=target, source=source, conv=s)
                  if SCons.Util.is_List(p):
                      if len(p) == 1:
                          p = p[0]
                      else:
                          # We have an object plus a string, or multiple
                          # objects that we need to smush together.  No choice
                          # but to make them into a string.
                          p = ''.join(map(SCons.Util.to_String_for_subst, p))
              else:
                  p = s(p)
              r.append(p)
          return r
function_tokens: def subst_path ( self , path , target = None , source = None ) : if not SCons . Util . is_List ( path ) : path = [ path ] def s ( obj ) : """This is the "string conversion" routine that we have our
              substitutions use to return Nodes, not strings.  This relies
              on the fact that an EntryProxy object has a get() method that
              returns the underlying Node that it wraps, which is a bit of
              architectural dependence that we might need to break or modify
              in the future in response to additional requirements.""" try : get = obj . get except AttributeError : obj = SCons . Util . to_String_for_subst ( obj ) else : obj = get ( ) return obj r = [ ] for p in path : if SCons . Util . is_String ( p ) : p = self . subst ( p , target = target , source = source , conv = s ) if SCons . Util . is_List ( p ) : if len ( p ) == 1 : p = p [ 0 ] else : # We have an object plus a string, or multiple # objects that we need to smush together.  No choice # but to make them into a string. p = '' . join ( map ( SCons . Util . to_String_for_subst , p ) ) else : p = s ( p ) r . append ( p ) return r