def git(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p.communicate() stdout = to_string(stdout) stderr = to_string(stderr) if p.returncode != 0: console.debug('Failed to generate git scm: %s' % stderr) return '' return stdout
def _execute(cmd, redirect_stderr_to_stdout=False): redirect_stderr = subprocess.PIPE if redirect_stderr_to_stdout: redirect_stderr = subprocess.STDOUT p = subprocess.Popen(cmd, env=os.environ, stderr=redirect_stderr, stdout=subprocess.PIPE, shell=True, universal_newlines=True) stdout, stderr = p.communicate() stdout = to_string(stdout) stderr = to_string(stderr) return p.returncode, stdout, stderr
def generate_scm_svn(): url = revision = 'unknown' p = subprocess.Popen('svn info', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p.communicate() stdout = to_string(stdout) stderr = to_string(stderr) if p.returncode != 0: console.debug('Failed to generate svn scm: %s' % stderr) else: for line in stdout.splitlines(): if line.startswith('URL: '): url = line.strip().split()[-1] if line.startswith('Revision: '): revision = line.strip().split()[-1] break return url, revision