diff options
author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2019-11-22 21:57:51 -0500 |
---|---|---|
committer | Todd Leonhardt <todd.leonhardt@gmail.com> | 2019-11-22 21:57:51 -0500 |
commit | efc9ad1141ecb923a52fa3d9a8f018ae9fae2a8d (patch) | |
tree | 9ecb55a5d03a0b3ca70e8c22a2b37b18193375f0 /examples/override_parser.py | |
parent | bfca9f9a879b50f1a23c733832bbca93ff6cc243 (diff) | |
parent | 1cad8d92b87a227b331c0e86ddbbee25a6742650 (diff) | |
download | cmd2-git-efc9ad1141ecb923a52fa3d9a8f018ae9fae2a8d.tar.gz |
Merge branch 'master' into pyscript_docs
Diffstat (limited to 'examples/override_parser.py')
-rwxr-xr-x | examples/override_parser.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/override_parser.py b/examples/override_parser.py new file mode 100755 index 00000000..ddfa8323 --- /dev/null +++ b/examples/override_parser.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# coding=utf-8 +# flake8: noqa F402 +""" +The standard parser used by cmd2 built-in commands is Cmd2ArgumentParser. +The following code shows how to override it with your own parser class. +""" + +# First set a value called argparse.cmd2_parser_module with the module that defines the custom parser +# See the code for custom_parser.py. It simply defines a parser and calls cmd2.set_default_argument_parser() +# with the custom parser's type. +import argparse +argparse.cmd2_parser_module = 'examples.custom_parser' + +# Next import stuff from cmd2. It will import your module just before the cmd2.Cmd class file is imported +# and therefore override the parser class it uses on its commands. +from cmd2 import cmd2 + +if __name__ == '__main__': + import sys + app = cmd2.Cmd(use_ipython=True, persistent_history_file='cmd2_history.dat') + app.locals_in_py = True # Enable access to "self" within the py command + app.debug = True # Show traceback if/when an exception occurs + sys.exit(app.cmdloop()) |