commit: 12eabbc4ef91e04b08a301580f7dd345666b118b
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 22 01:55:04 2014 +0000
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Fri Apr 18 16:50:36 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=12eabbc4
Take most cmd() code out to the try: except: pairs
---
catalyst/support.py | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/catalyst/support.py b/catalyst/support.py
index 3db1509..cafb5d2 100644
--- a/catalyst/support.py
+++ b/catalyst/support.py
@@ -120,25 +120,29 @@ def find_binary(myc):
return None
-def cmd(mycmd, myexc="", env={}, debug=False):
+def cmd(mycmd, myexc="", env={}, debug=False, fail_func=None):
+ #print "***** cmd()"
+ sys.stdout.flush()
+ args=[BASH_BINARY]
+ if "BASH_ENV" not in env:
+ env["BASH_ENV"] = "/etc/spork/is/not/valid/profile.env"
+ if debug:
+ args.append("-x")
+ args.append("-c")
+ args.append(mycmd)
+
+ #if debug:
+ print "***** cmd(); args =", args
try:
- sys.stdout.flush()
- args=[BASH_BINARY]
- if "BASH_ENV" not in env:
- env["BASH_ENV"] = "/etc/spork/is/not/valid/profile.env"
- if debug:
- args.append("-x")
- args.append("-c")
- args.append(mycmd)
-
- #if debug:
- print "***** cmd(); args =", args
proc = Popen(args, env=env)
- if proc.wait() != 0:
- raise CatalystError("cmd() NON-zero return value from:
%s" % myexc,
- print_traceback=False)
except:
raise
+ if proc.wait() != 0:
+ if fail_func:
+ print "CMD(), NON-Zero command return. Running
fail_func()"
+ fail_func()
+ raise CatalystError("cmd() NON-zero return value from: %s" %
myexc,
+ print_traceback=False)
def file_locate(settings,filelist,expand=1):