Click命令加载器,允许从指定的文件夹加载Click命令。
项目描述
Click命令加载器(CCL)
Click命令加载器(简称CCL)是Click的一个附加包,用于从文件夹加载Click命令。
例如,以下文件夹结构
my_project/
├─ commands/
│ ├─ create.py
│ ├─ delete.py
│ ├─ list.py
├─ __init__.py
命令 create
、delete
和 list
将被注册到您的Click应用中!
安装
这是一个可在PyPi上找到的包!
使用Pip
pip install clickloader
使用Poetry
poetry add clickloader
示例
假设您有以下命令结构
my_project/
├─ commands/
│ ├─ create.py
│ ├─ delete.py
│ ├─ list.py
├─ cli.py
在您的 cli.py
中,您应该有您的CLI应用的基逻辑。最初,所有命令都会在这里注册,但CCL将帮助您利用这里的工作。
以下是cli.py
的内容
import click
import ccl
import pathlib
path_to_commands = pathlib.Path(__file__, "..", "commands")
my_cli = click.Group("MyCLI")
ccl.register_commands(my_cli, path_to_commands)
if __name__ == "__main__":
my_cli()
voilà!您的“commands”文件夹中的所有命令都已注册!
幕后
在注册命令时,CCL将执行以下操作
-
列出给定源内的文件和文件夹。
-
遍历目录,如果找到文件,跳转到步骤3,如果找到文件夹,跳转到步骤2.1。
2.1. 如果是文件夹,检查是否存在
__init__.py
文件,如果存在,尝试导出一个包含click装饰器的函数(必须是一个组)。如果未找到,创建一个click组,然后使用指定的组继续到步骤3。 -
如果找到文件,尝试导出一个包含click装饰器的函数(必须是一个命令),然后将其添加到指定的组。
-
继续扫描,直到所有文件和文件夹都被扫描完毕。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
clickloader-0.2.0.tar.gz (4.2 kB 查看哈希)
构建分布
clickloader-0.2.0-py3-none-any.whl (4.9 kB 查看哈希)