Don't use store_xxx on optional bools (#7786)

* Don't use `store_xxx` on optional bools

* Refine test

* Refine test
This commit is contained in:
Sylvain Gugger
2020-10-14 12:05:02 -04:00
committed by GitHub
parent a1d1b332d0
commit bb9559a7f9
5 changed files with 9 additions and 8 deletions

View File

@@ -65,7 +65,8 @@ class HfArgumentParser(ArgumentParser):
if field.default is not dataclasses.MISSING:
kwargs["default"] = field.default
elif field.type is bool or field.type is Optional[bool]:
kwargs["action"] = "store_false" if field.default is True else "store_true"
if field.type is bool or (field.default is not None and field.default is not dataclasses.MISSING):
kwargs["action"] = "store_false" if field.default is True else "store_true"
if field.default is True:
field_name = f"--no-{field.name}"
kwargs["dest"] = field.name