google / google/python-fire

Raising FireError in __init__ is not handled properly

Aberta
#250 4 comentários 3 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

In version 0.3.1 when user attempts to raise error in the `__init__` method the effective error that gets printed is about missing `self` argument. Minimal example:
```
import fire
from fire.core import FireError
class Calc:

def __init__(self):
raise FireError('foo')

def add(self):
pass

if __name__ == "__main__":
fire.Fire(Calc)
```

```
python calc.py add
ERROR: The function received no value for the required argument: self
```

When executed interactively, the error is correct:
```
>>>import calc; import fire
>>>fire.Fire(calc.Calc)
ERROR: foo
```

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Reproduza o problema com o exemplo Calc fornecido e compare as invocações por script e interativas de fire.Fire(Calc). Comece rastreando como FireError de __init__ é tratado em comparação com o erro de self ausente, usando fire.core.FireError como ponto de entrada. A tarefa estará concluída quando o script relatar “ERROR: foo” em vez do erro exigido do argumento self.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
cli
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

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