diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-06-19 19:57:06 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-06-19 20:00:46 +0400 |
commit | 2dce13d213f6c02b97a62bb1d7a8661998e22a53 (patch) | |
tree | fcefb9bedaba95b33ac53780de7b0501342c71d6 | |
parent | eaac6cbcd9428533273091710759106131f92340 (diff) |
Python: Remove deprecated uses of os.popen
T40415 by Lawrence D'Oliveiro
-rw-r--r-- | SConstruct | 3 | ||||
-rw-r--r-- | build_files/scons/tools/Blender.py | 33 | ||||
-rw-r--r-- | build_files/scons/tools/btools.py | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/SConscript | 3 | ||||
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 9 |
5 files changed, 26 insertions, 24 deletions
diff --git a/SConstruct b/SConstruct index 251f7eae92e..f27ba1754c1 100644 --- a/SConstruct +++ b/SConstruct @@ -285,8 +285,7 @@ if env['OURPLATFORM']=='darwin': import subprocess command = ["%s"%env['CC'], "--version"] - process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=None, shell=False) - line = process.communicate()[0] + line = subprocess.check_output(command) ver = re.search(r'[0-9]+(\.[0-9]+[svn]+)+', line) or re.search(r'[0-9]+(\.[0-9]+)+', line) # read the "based on LLVM x.xsvn" version here, not the Apple version if ver: env['CCVERSION'] = ver.group(0).strip('svn') diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index ee35586814d..a506d2c08f9 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -406,55 +406,58 @@ def buildinfo(lenv, build_type): """ Generate a buildinfo object """ + import subprocess + build_date = time.strftime ("%Y-%m-%d") build_time = time.strftime ("%H:%M:%S") if os.path.isdir(os.path.abspath('.git')): - build_commit_timestamp = os.popen('git log -1 --format=%ct').read().strip() + build_commit_timestamp = subprocess.check_output(args=['git', 'log', '-1', '--format=%ct']).strip() if not build_commit_timestamp: # Git command not found build_hash = 'unknown' build_commit_timestamp = '0' build_branch = 'unknown' else: - import subprocess no_upstream = False - process = subprocess.Popen(['git', 'rev-parse', '--short', '@{u}'], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - build_hash, stderr = process.communicate() - build_hash = build_hash.strip() - build_branch = os.popen('git rev-parse --abbrev-ref HEAD').read().strip() + try : + build_hash = subprocess.check_output(['git', 'rev-parse', '--short', '@{u}']).strip() + except subprocess.CalledProcessError: + # assume branch has no upstream configured + build_hash = '' + + build_branch = subprocess.check_output(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip() if build_branch == 'HEAD': - master_check = os.popen('git branch --list master --contains ' + build_hash).read().strip() + master_check = subprocess.check_output(['git', 'branch', '--list', 'master', '--contains', build_hash]).strip() if master_check == 'master': build_branch = 'master' else: - head_hash = os.popen('git rev-parse HEAD').read().strip() - tag_hashes = os.popen('git show-ref --tags -d').read() + head_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip() + tag_hashes = subprocess.check_output(['git', 'show-ref', '--tags', '-d']) if tag_hashes.find(head_hash) != -1: build_branch = 'master' if build_hash == '': - build_hash = os.popen('git rev-parse --short HEAD').read().strip() + build_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip() no_upstream = True else: - older_commits = os.popen('git log --oneline HEAD..@{u}').read().strip() + older_commits = subprocess.check_output(['git', 'log', '--oneline', 'HEAD..@{u}']).strip() if older_commits: - build_hash = os.popen('git rev-parse --short HEAD').read().strip() + build_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip() # ## Check for local modifications has_local_changes = False # Update GIT index before getting dirty files os.system('git update-index -q --refresh') - changed_files = os.popen('git diff-index --name-only HEAD --').read().strip() + changed_files = subprocess.check_output(['git', 'diff-index', '--name-only', 'HEAD', '--']).strip() if changed_files: has_local_changes = True elif no_upstream == False: - unpushed_log = os.popen('git log --oneline @{u}..').read().strip() + unpushed_log = subprocess.check_output(['git', 'log', '--oneline', '@{u}..']).strip() has_local_changes = unpushed_log != '' if build_branch.startswith('blender-v'): diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 6eff3dd682b..08a3eec45ba 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -56,7 +56,7 @@ def get_version(): raise Exception("%s: missing version string" % fname) def get_hash(): - build_hash = os.popen('git rev-parse --short HEAD').read().strip() + build_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip() if build_hash == '' or build_hash == None: build_hash = 'UNKNOWN' diff --git a/intern/cycles/kernel/SConscript b/intern/cycles/kernel/SConscript index ef28f7b6d91..bceab7e2b0f 100644 --- a/intern/cycles/kernel/SConscript +++ b/intern/cycles/kernel/SConscript @@ -64,8 +64,7 @@ if env['WITH_BF_CYCLES_CUDA_BINARIES']: closure_dir = os.path.join(source_dir, "../closure") # get CUDA version - nvcc_pipe = subprocess.Popen([nvcc, "--version"],stdout=subprocess.PIPE,stderr=subprocess.PIPE) - output, erroroutput = nvcc_pipe.communicate() + output = subprocess.check_output([nvcc, "--version"]) cuda_major_minor = re.findall(r'release (\d+).(\d+)', output)[0] cuda_version = int(cuda_major_minor[0])*10 + int(cuda_major_minor[1]) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 86ae8fdc4e6..4281c908afd 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -802,13 +802,14 @@ class WM_OT_path_open(Operator): if sys.platform[:3] == "win": os.startfile(filepath) elif sys.platform == "darwin": - subprocess.Popen(["open", filepath]) + subprocess.check_call(["open", filepath]) else: try: - subprocess.Popen(["xdg-open", filepath]) - except OSError: + subprocess.check_call(["xdg-open", filepath]) + except: # xdg-open *should* be supported by recent Gnome, KDE, Xfce - pass + import traceback + traceback.print_exc() return {'FINISHED'} |