summaryrefslogtreecommitdiff
path: root/examples/pirate.py
diff options
context:
space:
mode:
authorTodd Leonhardt <todd.leonhardt@gmail.com>2019-05-20 23:47:50 -0400
committerTodd Leonhardt <todd.leonhardt@gmail.com>2019-05-20 23:47:50 -0400
commit2f0dbf5bad19d96880e2ef795660db1b8f04cdc7 (patch)
tree2d3ef06b705d8347fac5c9a7fe73f472973c4a41 /examples/pirate.py
parent1fd474fc11d22e0c1201784cf4602139e3f7c637 (diff)
downloadcmd2-git-2f0dbf5bad19d96880e2ef795660db1b8f04cdc7.tar.gz
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
Diffstat (limited to 'examples/pirate.py')
-rwxr-xr-xexamples/pirate.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/examples/pirate.py b/examples/pirate.py
index 994ca245..9abbe4e6 100755
--- a/examples/pirate.py
+++ b/examples/pirate.py
@@ -55,6 +55,7 @@ class Pirate(cmd2.Cmd):
self.poutput('Now we gots {0} doubloons'.format(self.gold))
if self.gold < 0:
self.poutput("Off to debtorrr's prison.")
+ self.exit_code = -1
stop = True
return stop
@@ -99,6 +100,9 @@ class Pirate(cmd2.Cmd):
if __name__ == '__main__':
+ import sys
# Create an instance of the Pirate derived class and enter the REPL with cmdlooop().
pirate = Pirate()
- pirate.cmdloop()
+ sys_exit_code = pirate.cmdloop()
+ print('Exiting with code: {!r}'.format(sys_exit_code))
+ sys.exit(sys_exit_code)