(commands, args, cwd=None, verbose=False, hide_stderr=False)
return stdout
Call the given command(s).
Call the given command(s).
Call the given command ( s ) .
def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False):
    """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,
                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
    else:
        if verbose:
            print("unable to find command, tried %s" % (commands,))
        return 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)
        return None
    return stdout
def run_command ( commands , args , cwd = None , verbose = False , hide_stderr = False ) : 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 , 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 else : if verbose : print ( "unable to find command, tried %s" % ( commands , ) ) return 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 ) return None return stdout