You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
782 B
Python
35 lines
782 B
Python
|
|
import logging
|
|
import argparse
|
|
import logging
|
|
|
|
|
|
def cmd_foo(args, parser):
|
|
pass
|
|
|
|
|
|
def cmd_bar(args, parser):
|
|
pass
|
|
|
|
|
|
def get_args():
|
|
parser = argparse.ArgumentParser()
|
|
|
|
sp_action = parser.add_subparsers(dest="action", help="action to take")
|
|
|
|
p_foo = sp_action.add_parser("foo", help="foo action")
|
|
p_foo.set_defaults(func=cmd_foo)
|
|
p_foo.add_argument("-c", "--config", help="config file path")
|
|
|
|
sp_bar = sp_action.add_subparsers(dest="bar", help="bar action")
|
|
sp_bar.set_defaults(func=cmd_bar)
|
|
sp_bar.add_argument("-s", "--shutdown", action="store_true", help="shutdown on program exit")
|
|
|
|
return parser.parse_args(), parser
|
|
|
|
|
|
def main():
|
|
logging.basicConfig(level=logging.INFO)
|
|
args, parser = get_args()
|
|
args.func(args, parser)
|