Skip to content

Commit 37334be

Browse files
authored
Smal fixes. (#125)
1 parent e528db1 commit 37334be

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

knack/cli.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ def invoke(self, args, initial_invocation_data=None, out_file=None):
185185

186186
if not isinstance(args, (list, tuple)):
187187
raise TypeError('args should be a list or tuple.')
188+
exit_code = 0
188189
try:
189190
args = self.completion.get_completion_args() or args
190191
out_file = out_file or self.out_file
@@ -195,6 +196,7 @@ def invoke(self, args, initial_invocation_data=None, out_file=None):
195196
self.raise_event(EVENT_CLI_PRE_EXECUTE)
196197
if CLI._should_show_version(args):
197198
self.show_version()
199+
self.result = CommandResultItem(None)
198200
else:
199201
self.invocation = self.invocation_cls(cli_ctx=self,
200202
parser_cls=self.parser_cls,
@@ -203,17 +205,19 @@ def invoke(self, args, initial_invocation_data=None, out_file=None):
203205
initial_data=initial_invocation_data)
204206
cmd_result = self.invocation.execute(args)
205207
self.result = cmd_result
208+
exit_code = self.result.exit_code
206209
output_type = self.invocation.data['output']
207210
if cmd_result and cmd_result.result is not None:
208211
formatter = self.output.get_formatter(output_type)
209212
self.output.out(cmd_result, formatter=formatter, out_file=out_file)
210213
self.raise_event(EVENT_CLI_POST_EXECUTE)
211214
except KeyboardInterrupt as ex:
212-
self.result = CommandResultItem(None, exit_code=1, error=ex)
215+
self.result = CommandResultItem(None, error=ex)
213216
exit_code = 1
214217
except Exception as ex: # pylint: disable=broad-except
215218
exit_code = self.exception_handler(ex)
216-
self.result = CommandResultItem(None, exit_code=exit_code, error=ex)
219+
self.result = CommandResultItem(None, error=ex)
217220
finally:
218221
pass
219-
return self.result.exit_code
222+
self.result.exit_code = exit_code
223+
return exit_code

knack/invocation.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def execute(self, args):
142142
self.cli_ctx.completion.enable_autocomplete(self.parser)
143143
subparser = self.parser.subparsers[tuple()]
144144
self.help.show_welcome(subparser)
145-
return None
145+
return CommandResultItem(None, exit_code=0)
146146

147147
if args[0].lower() == 'help':
148148
args[0] = '--help'

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from codecs import open
1010
from setuptools import setup, find_packages
1111

12-
VERSION = '0.5.0'
12+
VERSION = '0.5.1'
1313

1414
DEPENDENCIES = [
1515
'argcomplete',

0 commit comments

Comments
 (0)