[feature request] support multiple dialects for boolean parameters
- 主要语言
- Python
- 星标
- 28.2k
- 派生
- 1.5k
- PR 合并指标
- 30 天内没有已合并 PR
描述
Consider the following code:
```python
import fire
def a(flag: bool):
if flag:
print("hooray!")
else:
print("Wanna see a flag :(")
if __name__ == '__main__': fire.Fire(a)
```
Now, the following options work as expected (print 'hooray!'):
`python a.py --flag`
`python a.py --flag=True`
`python a.py --flag=true`
However, in order to disable flag explicity the only working option is:
`python a.py --flag=False`
and the seemingly rational version
`python a.py --flag=false`
result in 'hooray' being printed as flag is parsed as a string 'false' which then casts to boolean True.
My request:
support 0, 'false' and 'no' as valid boolean arguments that all cast to False. Make this behavior optional. One way to do this is by adding a custom type to lable such flags with.
贡献指南
评估
这个 Issue 还没有评估数据。