diff options
author | zhihui wu <wu.zhihui1@zte.com.cn> | 2017-04-14 03:32:36 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-04-14 03:32:36 +0000 |
commit | 12b200e2c566bb0e3696ecea0d5f4fae9c74ffec (patch) | |
tree | 3ef757b4fb781553db45c8b33f16a22b59e5cead /qtip/cli | |
parent | c70d80c0abbc50e2d12f4eb64ae16cddfcc6b6cd (diff) | |
parent | b694a4a2d4719169ccc7fb3696367bca7118b513 (diff) |
Merge "User friendly messages for exceptions"
Diffstat (limited to 'qtip/cli')
-rw-r--r-- | qtip/cli/commands/cmd_metric.py | 17 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_plan.py | 17 | ||||
-rw-r--r-- | qtip/cli/commands/cmd_qpi.py | 17 |
3 files changed, 39 insertions, 12 deletions
diff --git a/qtip/cli/commands/cmd_metric.py b/qtip/cli/commands/cmd_metric.py index a2208444..1741fb48 100644 --- a/qtip/cli/commands/cmd_metric.py +++ b/qtip/cli/commands/cmd_metric.py @@ -8,8 +8,11 @@ ############################################################################## import click +from colorama import Fore import os +from qtip.base.error import InvalidContentError +from qtip.base.error import NotFoundError from qtip.cli import utils from qtip.cli.entry import Context from qtip.loader.metric import MetricSpec @@ -36,10 +39,16 @@ def cmd_list(ctx): @click.argument('name') @pass_context def show(ctx, name): - metric = MetricSpec('{}.yaml'.format(name)) - cnt = metric.content - output = utils.render('metric', cnt) - click.echo(output) + try: + metric = MetricSpec('{}.yaml'.format(name)) + except NotFoundError as nf: + click.echo(Fore.RED + "ERROR: metric spec: " + nf.message) + except InvalidContentError as ice: + click.echo(Fore.RED + "ERROR: metric spec " + ice.message) + else: + cnt = metric.content + output = utils.render('metric', cnt) + click.echo(output) @cli.command('run', help='Run performance test') diff --git a/qtip/cli/commands/cmd_plan.py b/qtip/cli/commands/cmd_plan.py index beb61b0e..b7c540b7 100644 --- a/qtip/cli/commands/cmd_plan.py +++ b/qtip/cli/commands/cmd_plan.py @@ -9,8 +9,11 @@ import click +from colorama import Fore import os +from qtip.base.error import InvalidContentError +from qtip.base.error import NotFoundError from qtip.cli import utils from qtip.cli.entry import Context from qtip.loader.plan import Plan @@ -44,10 +47,16 @@ def list(ctx): @click.argument('name') @pass_context def show(ctx, name): - plan = Plan('{}.yaml'.format(name)) - cnt = plan.content - output = utils.render('plan', cnt) - click.echo(output) + try: + plan = Plan('{}.yaml'.format(name)) + except NotFoundError as nf: + click.echo(Fore.RED + "ERROR: plan spec: " + nf.message) + except InvalidContentError as ice: + click.echo(Fore.RED + "ERROR: plan spec: " + ice.message) + else: + cnt = plan.content + output = utils.render('plan', cnt) + click.echo(output) @cli.command('run', help='Execute a Plan') diff --git a/qtip/cli/commands/cmd_qpi.py b/qtip/cli/commands/cmd_qpi.py index 1e3671c5..a47442b7 100644 --- a/qtip/cli/commands/cmd_qpi.py +++ b/qtip/cli/commands/cmd_qpi.py @@ -9,8 +9,11 @@ import click +from colorama import Fore import os +from qtip.base.error import InvalidContentError +from qtip.base.error import NotFoundError from qtip.cli import utils from qtip.cli.entry import Context from qtip.loader.qpi import QPISpec @@ -37,10 +40,16 @@ def cmd_list(ctx): @click.argument('name') @pass_context def show(ctx, name): - qpi = QPISpec('{}.yaml'.format(name)) - cnt = qpi.content - output = utils.render('qpi', cnt) - click.echo(output) + try: + qpi = QPISpec('{}.yaml'.format(name)) + except NotFoundError as nf: + click.echo(Fore.RED + "ERROR: qpi spec: " + nf.message) + except InvalidContentError as ice: + click.echo(Fore.RED + "ERROR: qpi spec: " + ice.message) + else: + cnt = qpi.content + output = utils.render('qpi', cnt) + click.echo(output) @cli.command('run', help='Run performance tests for the specified QPI') |