aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Feldt <hans.feldt@ericsson.com>2015-05-19 08:17:16 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2015-05-19 08:17:16 +0000
commitfca312912a5b0f3f9815db22affbd2b5244fc7c4 (patch)
treeb4ea11bc291ca485b08d6e5c1c19bede7ad5bb8c
parentb6c094f98edda683aec70be5d897f250f4a10555 (diff)
parent432430aa31d826a5cb4bf3960a6b22c05c8affeb (diff)
Merge "add cmdparser"
-rw-r--r--yardstick/cmdparser.py71
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