google / google/python-fire

[feature request] support multiple dialects for boolean parameters

Aberta
#461 3 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
28.2k
Forks
1.5k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.