aboutsummaryrefslogtreecommitdiff
path: root/absl/flags/_argument_parser.py
diff options
context:
space:
mode:
authorXiaofei Wang <wangxf@google.com>2018-03-16 14:29:52 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-16 14:30:07 -0700
commitbf3600db3a62561c8a03cdaeb490c7c0119da41e (patch)
treee3ceda019f1ca4c949a1ed98110a13d46deb8266 /absl/flags/_argument_parser.py
parentbea504d7d0f3e410c7cb8c005bc569ba4fdfde09 (diff)
downloadabsl-py-bf3600db3a62561c8a03cdaeb490c7c0119da41e.tar.gz
Make BooleanParser.parse raise ValueError instead of TypeError when the argument has a wrong type.
PiperOrigin-RevId: 189394019
Diffstat (limited to 'absl/flags/_argument_parser.py')
-rw-r--r--absl/flags/_argument_parser.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/absl/flags/_argument_parser.py b/absl/flags/_argument_parser.py
index ae7d1d4..15eda52 100644
--- a/absl/flags/_argument_parser.py
+++ b/absl/flags/_argument_parser.py
@@ -282,14 +282,18 @@ class BooleanParser(ArgumentParser):
return True
elif argument.lower() in ('false', 'f', '0'):
return False
+ else:
+ raise ValueError('Non-boolean argument to boolean flag', argument)
elif isinstance(argument, six.integer_types):
# Only allow bool or integer 0, 1.
# Note that float 1.0 == True, 0.0 == False.
bool_value = bool(argument)
if argument == bool_value:
return bool_value
+ else:
+ raise ValueError('Non-boolean argument to boolean flag', argument)
- raise ValueError('Non-boolean argument to boolean flag', argument)
+ raise TypeError('Non-boolean argument to boolean flag', argument)
def flag_type(self):
"""See base class."""