aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpkid/rpki/cli.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/rpkid/rpki/cli.py b/rpkid/rpki/cli.py
index 80f8587f..10ace337 100644
--- a/rpkid/rpki/cli.py
+++ b/rpkid/rpki/cli.py
@@ -18,7 +18,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
"""
-import cmd, glob, os.path
+import cmd, glob, os.path, traceback
try:
import readline
@@ -46,6 +46,18 @@ class Cmd(cmd.Cmd):
else:
self.cmdloop_with_history()
+ def onecmd(self, line):
+ """
+ Wrap error handling around cmd.Cmd.onecmd(). Might want to do
+ something kinder than showing a traceback, eventually.
+ """
+ try:
+ return cmd.Cmd.onecmd(self, line)
+ except SystemExit:
+ raise
+ except:
+ traceback.print_exc()
+
def do_EOF(self, arg):
"""
Exit program.