google / google/python-fire

Display parameters of the parent class

Offen
#295 1 Kommentar 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Python
Sterne
28.2k
Forks
1.5k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I would like to build objects that I can instantiate and call directly from a CLI. But I want to have a base class, that I can inherit from for other classes to add new arguments. Here is a minimal example:

```python3
import fire

class A:

def __init__(self, name):
self.name = name

def __str__(self):
return self.name

class B(A):

def __init__(self, number, **kwargs):
super().__init__(**kwargs)
self.number = number

def __call__(self):
print(f"{self.name} + {self.number}")

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

I can use this file to do `python3 myfile.py --name foo --number 10` and this prints me in my terminal `foo + 10`. But, I would like to display the help of the CLI in a terminal, and when I do that, only the parameters of class B are displayed, and not the one from class A:

```bash
$ python3 myfile.py
NAME
myfile.py

SYNOPSIS
myfile.py --number=NUMBER

ARGUMENTS
NUMBER

FLAGS
Flags are accepted.
```

Do you know if I can bring slight modifications to my program so that the help displayed looks like:

```bash
$ python3 myfile.py
NAME
myfile.py

SYNOPSIS
myfile.py --number=NUMBER --name=NAME

ARGUMENTS
NUMBER
NAME

FLAGS
Flags are accepted.
```

Thanks !

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

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