From ee15a3df954b3a9551f29f72f097134a6a5300cc Mon Sep 17 00:00:00 2001 From: Kevin Van Brunt Date: Tue, 7 May 2019 00:41:06 -0400 Subject: Removed more suppression of exceptions in argparse completer to help with debugging tab-completion functions --- cmd2/argparse_completer.py | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'cmd2/argparse_completer.py') diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py index 659742bb..edfaeec4 100644 --- a/cmd2/argparse_completer.py +++ b/cmd2/argparse_completer.py @@ -667,7 +667,7 @@ class AutoCompleter(object): if callable(arg_choices[0]): completer = arg_choices[0] - elif isinstance(arg_choices[0], str) and callable(getattr(self._cmd2_app, arg_choices[0])): + else: completer = getattr(self._cmd2_app, arg_choices[0]) # extract the positional and keyword arguments from the tuple @@ -701,32 +701,17 @@ class AutoCompleter(object): # is the argument a string? If so, see if we can find an attribute in the # application matching the string. if isinstance(args, str): - try: - args = getattr(self._cmd2_app, args) - except AttributeError: - # Couldn't find anything matching the name - return [] + args = getattr(self._cmd2_app, args) # is the provided argument a callable. If so, call it if callable(args): try: - try: - args = args(self._cmd2_app) - except TypeError: - args = args() + args = args(self._cmd2_app) except TypeError: - return [] - - try: - iter(args) - except TypeError: - pass - else: - # filter out arguments we already used - args = [arg for arg in args if arg not in used_values] + args = args() - if len(args) > 0: - return args + # filter out arguments we already used + return [arg for arg in args if arg not in used_values] return [] -- cgit v1.2.1