Usage message is displayed when not desired.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Reproduza o comportamento com o exemplo fornecido fire_bug.py, incluindo comandos encadeados e --help. Comece rastreando os caminhos de execução de comandos e renderização da ajuda do Python Fire; o trabalho estará concluído quando comandos válidos não exibirem mais ajuda não solicitada, enquanto invocações sem comando e com --help fornecerem informações úteis sobre os comandos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When I build a class with methods that can be chained (they return self), I find that the "commands" help message is written out even when I provide commands with proper arguments and the commands are executed. Here is the code
from __future__ import annotations
from fire import Fire
class Foo:
def act(self, x: int) -> Foo:
"""
Act for some number of minutes.
Parameters
----------
x : int
The number of minutes to act.
"""
print("act", x, "minute(s)")
return self
def rest(self, x: int, y: str = "hours") -> Foo:
"""
Rest for a while.
Parameters
----------
x : int
The time to rest.
y : str
The units of x. The default is hours.
"""
print("rest", x, y)
return self
if __name__ == "__main__":
Fire(Foo)
If I run this as python fire_bug.py, I get the help output I expect, which is
NAME
fire_bug.py act 1
SYNOPSIS
fire_bug.py act 1 COMMAND
COMMANDS
COMMAND is one of the following:
act
Act for some number of minutes.
rest
Rest for a while.
If I run this as python fire_bug.py act 1, I unexpectedly get the help output
NAME
fire_bug.py act 1
SYNOPSIS
fire_bug.py act 1 COMMAND
COMMANDS
COMMAND is one of the following:
act
Act for some number of minutes.
rest
Rest for a while.
followed by the output I expect, which is
act 1 minute(s)
If run this as python fire_bug.py act 1 rest 9, I again unexpectedly get the help output
NAME
fire_bug.py act 1 rest 9
SYNOPSIS
fire_bug.py act 1 rest 9 - COMMAND
COMMANDS
COMMAND is one of the following:
act
Act for some number of minutes.
rest
Rest for a while.
followed by the output I expect, which is
act 1 minute(s)
rest 9 hours
If I add a __str__ method to the class that returns "\b", I don't get the unexpected messages, but I also don't get a help message if I run python fire_bug.py.
As a general observation, running python fire_bug.py --help does not produce useful output. The output is
NAME
fire_bug.py
SYNOPSIS
fire_bug.py -
The output I would expect would be the output I get when I run python fire_bug.py. I am aware that if I have an __init__ method with arguments that the information about those arguments will be displayed, but separating the two sets of information in this way is quite counterintuitive. Both sets of information should be provided when running with no command and when running with only a --help argument.
- Linguagem predominante
- Python
- Estrelas
- 28.2k
- Forks
- 1.5k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de google/python-fire
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
google/python-fire#693 ·
-
Release 0.7.2? Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
google/python-fire#698 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
google/python-fire#672 · 5 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
google/python-fire#665 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
google/python-fire#659 · 1 comentário ·
Todas as issues de google/python-fire
Issues semelhantes
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
canonical/paas-charm#368 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
tech debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
addition to tracking list Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
StevenBlack/hosts#3256 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
qualcomm/qai-appbuilder#275 ·