diff options
-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 |