diff options
-rw-r--r-- | rpkid/rpki/cli.py | 14 |
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. |