如何解决将别名加入自己的组
我有一个tool
,它操纵两个资源:r1
和r2
。每个按钮都有其自己的点击组,其中包含get
命令:
import click
@click.group
def cli():
pass
@cli.group
def r1():
pass
@r1.command("get")
def r1_get():
click.echo("r1.get")
@cli.group
def r2():
pass
@r2.command("get")
def r2_get():
click.echo("r2.get")
if __name__ == "__main__":
from click.utils import get_os_args
cli(get_os_args())
我可以调用命令:
$ tool r1 get
r1.get
$ tool r2 get
r2.get
我使用了https://stackoverflow.com/a/47985653/38592中的配方来创建别名:
aliases = dict(
r1get='r1 get'.split(),r2get='r2 get'.split(),)
@click.group(cls=ExpandAliasesGroup,aliases=aliases)
def cli():
pass
这会用别名填充我的tool
的根组:
$ tool r1get
r1.get
$ tool r2get
r2.get
我要启用以下功能:
$ tool get r1
r1.get
$ tool get r2
r2.get
我曾经尝试过类似的事情:
aliases = dict(
r1='r1 get'.split(),r2='r2 get'.split(),)
@cli.group(cls=ExpandAliasesGroup,aliases=aliases)
def get():
pass
但这不起作用,因为r1
和r2
在get
组的范围之外。
$ tool get r1
Error: No such command 'r1'.
$ tool get r2
Error: No such command 'r2'.
将此类别名分组到其自己的get
组中的正确方法应该是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。