google / google/python-fire

Unhandled arguments checked after execution, not before

Abierto
#168 16 comentarios 27 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
28.2k
Forks
1.5k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Consider a simple program:

```
import fire

def add(a, zero=0):
print('calculating...')
print(a + zero)

if __name__ == '__main__':
fire.Fire(add)
```

And then suppose we make a typo in the argument name, writing ``--zerro`` instead of ``--zero``. This is what I get with fire 0.1.3 under Python 3.6:

```
$ python t.py 1 --zerro 2
calculating...
1
Fire trace:
1. Initial component
2. Called routine "add" (t.py:3)
3. ('Could not consume arg:', '--zerro')

Type: NoneType
String form: None

Usage: t.py 1 -
```

Notice that first we run the code, and only then the error is reported. While I expected the errors to be checked before any user code is executed, because this code could be working for a long time, doing wrong things, etc.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.