Merge "cli: use type kwarg from argparse to parse queries"

This commit is contained in:
Jenkins 2016-04-12 07:47:32 +00:00 committed by Gerrit Code Review
commit 12951fcdea
2 changed files with 6 additions and 6 deletions

View File

@ -219,22 +219,21 @@ class CliMeasuresAggregation(lister.Lister):
parser.add_argument("--needed-overlap", type=float,
help=("percent of datapoints in each "
"metrics required"))
parser.add_argument("--query", help="Query"),
parser.add_argument("--query", help="Query",
type=utils.search_query_builder),
parser.add_argument("--resource-type", default="generic",
help="Resource type to query"),
return parser
def take_action(self, parsed_args):
metrics = parsed_args.metric
query = None
if parsed_args.query:
query = utils.search_query_builder(parsed_args.query)
if len(parsed_args.metric) != 1:
raise ValueError("One metric is required if query is provided")
metrics = parsed_args.metric[0]
measures = self.app.client.metric.aggregation(
metrics=metrics,
query=query,
query=parsed_args.query,
aggregation=parsed_args.aggregation,
start=parsed_args.start,
stop=parsed_args.stop,

View File

@ -89,13 +89,14 @@ class CliResourceSearch(CliResourceList):
def get_parser(self, prog_name):
parser = super(CliResourceSearch, self).get_parser(prog_name)
parser.add_argument("query", help="Query")
parser.add_argument("query", help="Query",
type=utils.search_query_builder)
return parser
def take_action(self, parsed_args):
resources = self.app.client.resource.search(
resource_type=parsed_args.resource_type,
query=utils.search_query_builder(parsed_args.query),
query=parsed_args.query,
**self._get_pagination_options(parsed_args))
return utils.list2cols(self.COLS, resources)