summaryrefslogtreecommitdiffstats
path: root/src/nbblib/progutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/nbblib/progutils.py')
-rw-r--r--src/nbblib/progutils.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/nbblib/progutils.py b/src/nbblib/progutils.py
index 0486d99..c4c632c 100644
--- a/src/nbblib/progutils.py
+++ b/src/nbblib/progutils.py
@@ -1,6 +1,6 @@
-########################################################################
-# Utility functions
-########################################################################
+"""\
+Utility functions for running external programs
+"""
import os
@@ -12,25 +12,26 @@ __all__ = ['prog_stdout', 'prog_retstd', 'ProgramRunError', 'prog_run']
def prog_stdout(call_list):
"""Run program and return stdout (similar to shell backticks)"""
- p = subprocess.Popen(call_list,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- stdout, stderr = p.communicate(input=None)
+ proc = subprocess.Popen(call_list,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ stdout, stderr = proc.communicate(input=None)
return stdout.strip()
def prog_retstd(call_list):
"""Run program and return stdout (similar to shell backticks)"""
- p = subprocess.Popen(call_list,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- stdout, stderr = p.communicate(input=None)
- return (p.returncode, stdout.strip(), stderr.strip())
+ proc = subprocess.Popen(call_list,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ stdout, stderr = proc.communicate(input=None)
+ return (proc.returncode, stdout.strip(), stderr.strip())
class ProgramRunError(Exception):
"""A program run returns a retcode != 0"""
def __init__(self, call_list, retcode, cwd=None):
+ super(ProgramRunError, self).__init__()
self.call_list = call_list
self.retcode = retcode
if cwd:
@@ -54,9 +55,9 @@ def prog_run(call_list, context=None, env=None, env_update=None):
env = os.environ.copy()
if env_update:
env.update(env_update)
- p = subprocess.Popen(call_list, env=env)
- stdout, stderr = p.communicate(input=None)
- if p.returncode != 0:
- raise ProgramRunError(call_list, p.returncode, os.getcwd())
- return p.returncode
+ proc = subprocess.Popen(call_list, env=env)
+ stdout, stderr = proc.communicate(input=None)
+ if proc.returncode != 0:
+ raise ProgramRunError(call_list, proc.returncode, os.getcwd())
+ return proc.returncode