forked from ungleich-public/cdist
exit = 2 if ctrl-c is pressed, cleanup
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
parent
c793825edb
commit
0eb67a00f5
1 changed files with 11 additions and 4 deletions
|
@ -116,10 +116,19 @@ def commandline():
|
|||
# Work around python 3.3 bug:
|
||||
# http://bugs.python.org/issue16308
|
||||
# http://bugs.python.org/issue9253
|
||||
|
||||
# FIXME: catching AttributeError also hides
|
||||
# real problems.. try a different way
|
||||
|
||||
# FIXME: we always print main help, not
|
||||
# the help of the actual parser being used!
|
||||
try:
|
||||
args.func(args)
|
||||
getattr(args, "func")
|
||||
except AttributeError:
|
||||
parser['main'].print_help()
|
||||
sys.exit(0)
|
||||
|
||||
args.func(args)
|
||||
|
||||
#def install(args):
|
||||
# configinstall(args, mode=cdist.install.Install)
|
||||
|
@ -158,12 +167,10 @@ if __name__ == "__main__":
|
|||
commandline()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
exit_code = 2
|
||||
|
||||
except cdist.Error as e:
|
||||
log.error(e)
|
||||
exit_code = 1
|
||||
|
||||
# Determine exit code by return value of function
|
||||
|
||||
sys.exit(exit_code)
|
||||
|
|
Loading…
Reference in a new issue