google / google/python-fire

[feature request] support multiple dialects for boolean parameters

Offen
#461 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
28.2k
Forks
1.5k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.