From b8c378cc14b93325331e29810bda9d9739f8e92d Mon Sep 17 00:00:00 2001 From: wirawan Date: Mon, 18 Jan 2010 20:55:44 +0000 Subject: [PATCH] * Facilitate invocation of some GNU coreutil programs in my python scripts. --- shell_tools.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/shell_tools.py b/shell_tools.py index 370b2fb..b34a280 100644 --- a/shell_tools.py +++ b/shell_tools.py @@ -1,4 +1,4 @@ -# $Id: shell_tools.py,v 1.1 2010-01-08 18:43:06 wirawan Exp $ +# $Id: shell_tools.py,v 1.2 2010-01-18 20:55:44 wirawan Exp $ # # wpylib.shell_tools # Created: 20100106 @@ -32,3 +32,30 @@ def mcd(subdir): raise +def errchk(cmd, args, retcode): + if retcode == 0: return + + print >>sys.stderr, "Error executing ", cmd, " ".join(args) + if retcode < 0: + err = "Command %s was terminated by signal %d" % (cmd, -retcode) + else: + err = "Command %s returned %d" % (cmd, retcode) + raise RuntimeError, err + +def run(prg, args): + retcode = subprocess.call((prg,) + args) + errchk(prg, args, retcode) + return 0 + + +# coreutils + +def cp(*args): + run('cp', args) + +def mkdir(*args): + run('mkdir', args) + +def mv(*args): + run('mv', args) +