parameters: (commands, args, cwd=None, verbose=False, hide_stderr=False,
                  env=None)
return_statement: return stdout, p.returncode
docstring: Call the given command(s).
docstring_summary: Call the given command(s).
docstring_tokens: Call the given command ( s ) .
function: def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False,
                  env=None):
      """Call the given command(s)."""
      assert isinstance(commands, list)
      p = None
      for c in commands:
          try:
              dispcmd = str([c] + args)
              # remember shell=False, so use git.cmd on windows, not just git
              p = subprocess.Popen([c] + args, cwd=cwd, env=env,
                                   stdout=subprocess.PIPE,
                                   stderr=(subprocess.PIPE if hide_stderr
                                           else None))
              break
          except EnvironmentError:
              e = sys.exc_info()[1]
              if e.errno == errno.ENOENT:
                  continue
              if verbose:
                  print("unable to run %s" % dispcmd)
                  print(e)
              return None, None
      else:
          if verbose:
              print("unable to find command, tried %s" % (commands,))
          return None, None
      stdout = p.communicate()[0].strip()
      if sys.version_info[0] >= 3:
          stdout = stdout.decode()
      if p.returncode != 0:
          if verbose:
              print("unable to run %s (error)" % dispcmd)
              print("stdout was %s" % stdout)
          return None, p.returncode
      return stdout, p.returncode
function_tokens: def run_command ( commands , args , cwd = None , verbose = False , hide_stderr = False , env = None ) : assert isinstance ( commands , list ) p = None for c in commands : try : dispcmd = str ( [ c ] + args ) # remember shell=False, so use git.cmd on windows, not just git p = subprocess . Popen ( [ c ] + args , cwd = cwd , env = env , stdout = subprocess . PIPE , stderr = ( subprocess . PIPE if hide_stderr else None ) ) break except EnvironmentError : e = sys . exc_info ( ) [ 1 ] if e . errno == errno . ENOENT : continue if verbose : print ( "unable to run %s" % dispcmd ) print ( e ) return None , None else : if verbose : print ( "unable to find command, tried %s" % ( commands , ) ) return None , None stdout = p . communicate ( ) [ 0 ] . strip ( ) if sys . version_info [ 0 ] >= 3 : stdout = stdout . decode ( ) if p . returncode != 0 : if verbose : print ( "unable to run %s (error)" % dispcmd ) print ( "stdout was %s" % stdout ) return None , p . returncode return stdout , p . returncode