From 2f0dbf5bad19d96880e2ef795660db1b8f04cdc7 Mon Sep 17 00:00:00 2001 From: Todd Leonhardt Date: Mon, 20 May 2019 23:47:50 -0400 Subject: Refactor exit_code implementation cmd2.Cmd.cmdloop() now returns self.exit_code which should be an integer Also: - Refactored examples to call sys.exit(app.cmdloop()) in their __main__ - Running transcript tests now sets the exit_code accordingly based on success/failure - Updated CHANGELOG - Updated README - Updated Sphinx docs - Added unit test for case when transcript test fails --- examples/cmd_as_argument.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'examples/cmd_as_argument.py') diff --git a/examples/cmd_as_argument.py b/examples/cmd_as_argument.py index df7e1d76..9eb0befb 100755 --- a/examples/cmd_as_argument.py +++ b/examples/cmd_as_argument.py @@ -14,7 +14,6 @@ $ python cmd_as_argument.py speak -p hello there import argparse import random -import sys import cmd2 @@ -101,13 +100,17 @@ def main(argv=None): c = CmdLineApp() + sys_exit_code = 0 if args.command: # we have a command, run it and then exit c.onecmd_plus_hooks('{} {}'.format(args.command, ' '.join(args.command_args))) else: # we have no command, drop into interactive mode - c.cmdloop() + sys_exit_code = c.cmdloop() + + return sys_exit_code if __name__ == '__main__': + import sys sys.exit(main()) -- cgit v1.2.1