google / google/python-fire

--help doesn't display correctly when using sub-groups;

Đang mở
#322 1 bình luận 3 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
28.2k
Fork
1.5k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Hey, great job, love the tool !!!!

When creating command groups using classes, --help isn't correctly displaying.

**Consider this example**

```
import fire
class GroupBase:
def __init__(self, verbose: bool):
self.verbose = verbose
class Group1(GroupBase):
def command1(self):
"""This command seen by group 1 only"""
print(f"I am a group1 command with verbosity {self.verbose}")
class Group2(GroupBase):
def command2(self):
"""This command will be seen by group 2."""
print(f"I am a group2 command with verbosity {self.verbose}")
class Base:
def __init__(self, verbose: bool = False):
self.verbose = verbose
self.group1 = Group1(verbose)
self.group2 = Group2(verbose)
def common1(self):
"""This command will be seen at the base level."""
print(f"I am a common command with verbosity {self.verbose}")
def main():
fire.Fire(Base)
if __name__ == '__main__':
main()
```

**if I type `python main.py`, I get the correct help file; Note the existence of the two groups (group1, group2).** (though help for verbose isn't correct.)

```
NAME
main.py

SYNOPSIS
main.py - GROUP | COMMAND | VALUE

GROUPS
GROUP is one of the following:

group1

group2

COMMANDS
COMMAND is one of the following:

common1
This command will be seen at the base level.

VALUES
VALUE is one of the following:

verbose
```

**If, instead, I use --help `python main.py --help`**, groups are not shown.

```
NAME
main.py

SYNOPSIS
main.py

FLAGS
--verbose=VERBOSE
Type: bool
Default: False
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.