summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-15 11:30:24 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-15 11:30:24 -0400
commit87702b56c5b146ef9ce867343ceaa675ae9c1c21 (patch)
tree71dd865b881331c3a559e6a2531d146968275e24
parentd6d50a001b29f3c13ac60cbba7c50a2a5aea1b2e (diff)
downloadcmd2-git-87702b56c5b146ef9ce867343ceaa675ae9c1c21.tar.gz
Made a few module functions protected
-rw-r--r--cmd2/argparse_completer.py18
-rw-r--r--tests/test_argparse_completer.py36
2 files changed, 27 insertions, 27 deletions
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py
index ae82a4a7..875fb3db 100644
--- a/cmd2/argparse_completer.py
+++ b/cmd2/argparse_completer.py
@@ -21,16 +21,16 @@ from .rl_utils import rl_force_redisplay
DEFAULT_DESCRIPTIVE_HEADER = 'Description'
-def single_prefix_char(token: str, parser: argparse.ArgumentParser) -> bool:
+def _single_prefix_char(token: str, parser: argparse.ArgumentParser) -> bool:
"""Returns if a token is just a single flag prefix character"""
return len(token) == 1 and token[0] in parser.prefix_chars
# noinspection PyProtectedMember
-def starts_like_flag(token: str, parser: argparse.ArgumentParser) -> bool:
+def _looks_like_flag(token: str, parser: argparse.ArgumentParser) -> bool:
"""
- Determine if a token starts like a flag. Unless an argument has nargs set to argparse.REMAINDER,
- then anything that starts like a flag can't be consumed as a value for it.
+ Determine if a token looks like a flag. Unless an argument has nargs set to argparse.REMAINDER,
+ then anything that looks like a flag can't be consumed as a value for it.
Based on argparse._parse_optional().
"""
# Flags have to be at least characters
@@ -219,7 +219,7 @@ class AutoCompleter(object):
continue
# Check the format of the current token to see if it can be an argument's value
- if starts_like_flag(token, self._parser) and not skip_remaining_flags:
+ if _looks_like_flag(token, self._parser) and not skip_remaining_flags:
# Check if there is an unfinished flag
if flag_arg_state is not None and flag_arg_state.count < flag_arg_state.min:
@@ -314,7 +314,7 @@ class AutoCompleter(object):
# This is because that could be the start of a negative number which may be a valid completion for
# the current argument. We will handle the completion of flags that start with only one prefix
# character (-f) at the end.
- if starts_like_flag(text, self._parser) and not skip_remaining_flags:
+ if _looks_like_flag(text, self._parser) and not skip_remaining_flags:
if flag_arg_state is not None and flag_arg_state.count < flag_arg_state.min:
self._print_unfinished_flag_error(flag_arg_state)
return []
@@ -335,7 +335,7 @@ class AutoCompleter(object):
# Otherwise, print a hint if the flag isn't finished or text isn't possibly the start of a flag
elif flag_arg_state.count < flag_arg_state.min or \
- not single_prefix_char(text, self._parser) or skip_remaining_flags:
+ not _single_prefix_char(text, self._parser) or skip_remaining_flags:
self._print_arg_hint(flag_arg_state.action)
return []
@@ -357,13 +357,13 @@ class AutoCompleter(object):
return completion_results
# Otherwise, print a hint if text isn't possibly the start of a flag
- elif not single_prefix_char(text, self._parser) or skip_remaining_flags:
+ elif not _single_prefix_char(text, self._parser) or skip_remaining_flags:
self._print_arg_hint(pos_arg_state.action)
return []
# Handle case in which text is a single flag prefix character that
# didn't complete against any argument values.
- if single_prefix_char(text, self._parser) and not skip_remaining_flags:
+ if _single_prefix_char(text, self._parser) and not skip_remaining_flags:
return self._complete_flags(text, line, begidx, endidx, matched_flags)
return completion_results
diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py
index c477f92f..1262b9e1 100644
--- a/tests/test_argparse_completer.py
+++ b/tests/test_argparse_completer.py
@@ -694,36 +694,36 @@ Hint:
def test_single_prefix_char():
- from cmd2.argparse_completer import single_prefix_char
+ from cmd2.argparse_completer import _single_prefix_char
parser = cmd2.ArgParser(prefix_chars='-+')
# Invalid
- assert not single_prefix_char('', parser)
- assert not single_prefix_char('--', parser)
- assert not single_prefix_char('-+', parser)
- assert not single_prefix_char('++has space', parser)
- assert not single_prefix_char('foo', parser)
+ assert not _single_prefix_char('', parser)
+ assert not _single_prefix_char('--', parser)
+ assert not _single_prefix_char('-+', parser)
+ assert not _single_prefix_char('++has space', parser)
+ assert not _single_prefix_char('foo', parser)
# Valid
- assert single_prefix_char('-', parser)
- assert single_prefix_char('+', parser)
+ assert _single_prefix_char('-', parser)
+ assert _single_prefix_char('+', parser)
-def test_starts_like_flag():
- from cmd2.argparse_completer import starts_like_flag
+def test_looks_like_flag():
+ from cmd2.argparse_completer import _looks_like_flag
parser = cmd2.ArgParser()
# Does not start like a flag
- assert not starts_like_flag('', parser)
- assert not starts_like_flag('non-flag', parser)
- assert not starts_like_flag('-', parser)
- assert not starts_like_flag('--has space', parser)
- assert not starts_like_flag('-2', parser)
+ assert not _looks_like_flag('', parser)
+ assert not _looks_like_flag('non-flag', parser)
+ assert not _looks_like_flag('-', parser)
+ assert not _looks_like_flag('--has space', parser)
+ assert not _looks_like_flag('-2', parser)
# Does start like a flag
- assert starts_like_flag('--', parser)
- assert starts_like_flag('-flag', parser)
- assert starts_like_flag('--flag', parser)
+ assert _looks_like_flag('--', parser)
+ assert _looks_like_flag('-flag', parser)
+ assert _looks_like_flag('--flag', parser)
def test_complete_command_no_tokens(ac_app):