diff options
author | Hans Feldt <hans.feldt@ericsson.com> | 2015-05-19 08:17:16 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2015-05-19 08:17:16 +0000 |
commit | fca312912a5b0f3f9815db22affbd2b5244fc7c4 (patch) | |
tree | b4ea11bc291ca485b08d6e5c1c19bede7ad5bb8c | |
parent | b6c094f98edda683aec70be5d897f250f4a10555 (diff) | |
parent | 432430aa31d826a5cb4bf3960a6b22c05c8affeb (diff) |
Merge "add cmdparser"
-rw-r--r-- | yardstick/cmdparser.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/yardstick/cmdparser.py b/yardstick/cmdparser.py new file mode 100644 index 000000000..e8f770386 --- /dev/null +++ b/yardstick/cmdparser.py @@ -0,0 +1,71 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +""" Argument parser for yardstick command line tool + +""" + +import argparse +import logging + +from pkg_resources import get_distribution + + +class CmdParser(argparse.ArgumentParser): + def __init__(self): + argparse.ArgumentParser.__init__(self) + + self.output_file_default = "/tmp/yardstick.out" + self._version = "yardstick version %s " % \ + get_distribution('yardstick').version + + self.__add_arguments() + + def __add_arguments(self): + self.add_argument("-d", "--debug", + help="increase output verbosity to debug", + action="store_true") + + self.add_argument("-v", "--verbose", + help="increase output verbosity to info", + action="store_true") + + self.add_argument("-V", "--version", + help="display version", + version=self._version, + action="version") + + self.add_argument("--keep-deploy", + help="keep context deployed in cloud", + action="store_true") + + self.add_argument("--parse-only", + help="parse the benchmark config file and exit", + action="store_true") + + self.add_argument("--output-file", + help="file where output is stored, default %s" % + self.output_file_default, + default=self.output_file_default) + + self.add_argument("taskfile", type=str, + help="path to taskfile", nargs=1) + + def parse_args(self): + args = argparse.ArgumentParser.parse_args(self) + + logger = logging.getLogger('yardstick') + + logger.setLevel(logging.WARNING) + if args.verbose: + logger.setLevel(logging.INFO) + if args.debug: + logger.setLevel(logging.DEBUG) + + return args |