From 587abe594aa5bf1fcebd3e373f5304f285f0eb0f Mon Sep 17 00:00:00 2001 From: Jiashuo Li Date: Tue, 2 Feb 2021 19:33:50 +0800 Subject: [PATCH] Add raw_result to CommandResultItem --- knack/cli.py | 2 +- knack/invocation.py | 3 ++- knack/util.py | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/knack/cli.py b/knack/cli.py index 27b7eb2..25ad27d 100644 --- a/knack/cli.py +++ b/knack/cli.py @@ -236,7 +236,7 @@ def invoke(self, args, initial_invocation_data=None, out_file=None): if cmd_result and cmd_result.result is not None: formatter = self.output.get_formatter(output_type) self.output.out(cmd_result, formatter=formatter, out_file=out_file) - self.raise_event(EVENT_CLI_SUCCESSFUL_EXECUTE, result=cmd_result.result) + self.raise_event(EVENT_CLI_SUCCESSFUL_EXECUTE, result=cmd_result) except KeyboardInterrupt as ex: exit_code = 1 self.result = CommandResultItem(None, error=ex, exit_code=exit_code) diff --git a/knack/invocation.py b/knack/invocation.py index a5665d4..b4038b2 100644 --- a/knack/invocation.py +++ b/knack/invocation.py @@ -230,4 +230,5 @@ def execute(self, args): return CommandResultItem(event_data['result'], exit_code=0, table_transformer=cmd_tbl[parsed_args.command].table_transformer, - is_query_active=self.data['query_active']) + is_query_active=self.data['query_active'], + raw_result=cmd_result) diff --git a/knack/util.py b/knack/util.py index ca80a47..e3f3dde 100644 --- a/knack/util.py +++ b/knack/util.py @@ -22,12 +22,14 @@ class CommandResultItem(object): # pylint: disable=too-few-public-methods def __init__(self, result, table_transformer=None, is_query_active=False, - exit_code=0, error=None): + exit_code=0, error=None, raw_result=None): self.result = result self.error = error self.exit_code = exit_code self.table_transformer = table_transformer self.is_query_active = is_query_active + # The result before applying query + self.raw_result = raw_result class CLIError(Exception):