diff options
Diffstat (limited to 'lib/bpar.py')
-rw-r--r-- | lib/bpar.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/bpar.py b/lib/bpar.py new file mode 100644 index 00000000..dd37a6cb --- /dev/null +++ b/lib/bpar.py @@ -0,0 +1,17 @@ +import subprocess, os + +class ArError(Exception): + pass +class ExecutionError(ArError): + def __init__(self, errcode): + self.error_code = errcode + +def print_data(input_file, out_file, tree=None): + cmd = ['ar', 'p', input_file, 'data.tar.gz'] + process = subprocess.Popen(cmd, + stdout=out_file, stderr=subprocess.STDOUT, + close_fds=True, universal_newlines=True, cwd=tree) + stdout = process.communicate()[0] + process.wait() + if process.returncode != 0: + raise ExecutionError(process.returncode) |