Commit af569ab9 authored by Stavros Sachtouris's avatar Stavros Sachtouris
Browse files

Catch and handle KeyboardInterrupt in shell

parent 57ecec97
......@@ -38,7 +38,7 @@ from inspect import getargspec
from kamaki.cli.argument import ArgumentParseManager
from kamaki.cli.history import History
from kamaki.cli.utils import print_dict, print_list, red, magenta, yellow
from kamaki.cli.utils import print_dict, red, magenta, yellow
from kamaki.cli.errors import CLIError
_help = False
......
......@@ -100,6 +100,15 @@ class Shell(Cmd):
def set_prompt(self, new_prompt):
self.prompt = '%s%s%s' % (self._prefix, new_prompt, self._suffix)
def cmdloop(self):
while True:
try:
Cmd.cmdloop(self)
except KeyboardInterrupt:
print(' - interrupted')
continue
break
def do_exit(self, line):
print('')
if self.prompt[len(self._prefix):-len(self._suffix)]\
......@@ -281,6 +290,7 @@ class Shell(Cmd):
try:
self.cmdloop()
except Exception:
except Exception as e:
print('(%s)' % e)
from traceback import print_stack
print_stack()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment