1 |
commit: 4fc05408af380d443178943f3194b485da92f6b8 |
2 |
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jan 22 01:55:04 2014 +0000 |
4 |
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> |
5 |
CommitDate: Wed Jan 22 04:36:01 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=4fc05408 |
7 |
|
8 |
Take most cmd() code out to the try: except: pairs |
9 |
|
10 |
--- |
11 |
catalyst/support.py | 34 +++++++++++++++++++--------------- |
12 |
1 file changed, 19 insertions(+), 15 deletions(-) |
13 |
|
14 |
diff --git a/catalyst/support.py b/catalyst/support.py |
15 |
index 3db1509..cafb5d2 100644 |
16 |
--- a/catalyst/support.py |
17 |
+++ b/catalyst/support.py |
18 |
@@ -120,25 +120,29 @@ def find_binary(myc): |
19 |
return None |
20 |
|
21 |
|
22 |
-def cmd(mycmd, myexc="", env={}, debug=False): |
23 |
+def cmd(mycmd, myexc="", env={}, debug=False, fail_func=None): |
24 |
+ #print "***** cmd()" |
25 |
+ sys.stdout.flush() |
26 |
+ args=[BASH_BINARY] |
27 |
+ if "BASH_ENV" not in env: |
28 |
+ env["BASH_ENV"] = "/etc/spork/is/not/valid/profile.env" |
29 |
+ if debug: |
30 |
+ args.append("-x") |
31 |
+ args.append("-c") |
32 |
+ args.append(mycmd) |
33 |
+ |
34 |
+ #if debug: |
35 |
+ print "***** cmd(); args =", args |
36 |
try: |
37 |
- sys.stdout.flush() |
38 |
- args=[BASH_BINARY] |
39 |
- if "BASH_ENV" not in env: |
40 |
- env["BASH_ENV"] = "/etc/spork/is/not/valid/profile.env" |
41 |
- if debug: |
42 |
- args.append("-x") |
43 |
- args.append("-c") |
44 |
- args.append(mycmd) |
45 |
- |
46 |
- #if debug: |
47 |
- print "***** cmd(); args =", args |
48 |
proc = Popen(args, env=env) |
49 |
- if proc.wait() != 0: |
50 |
- raise CatalystError("cmd() NON-zero return value from: %s" % myexc, |
51 |
- print_traceback=False) |
52 |
except: |
53 |
raise |
54 |
+ if proc.wait() != 0: |
55 |
+ if fail_func: |
56 |
+ print "CMD(), NON-Zero command return. Running fail_func()" |
57 |
+ fail_func() |
58 |
+ raise CatalystError("cmd() NON-zero return value from: %s" % myexc, |
59 |
+ print_traceback=False) |
60 |
|
61 |
|
62 |
def file_locate(settings,filelist,expand=1): |