From fdee34884c29216db2a6bdb7e5c714af2e780777 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Mon, 17 Jun 2024 04:16:47 +0800 Subject: feat(cli|project): add Cli class && hrc entry in project.scripts section --- .vscode/settings.json | 3 ++- hydro_roll_core/cli.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 4 ++++ 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f2907a5..9e5ca18 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "restructuredtext.preview.name": "sphinx" + "restructuredtext.preview.name": "sphinx", + "iis.configDir": "" } \ No newline at end of file diff --git a/hydro_roll_core/cli.py b/hydro_roll_core/cli.py index e69de29..ac66296 100644 --- a/hydro_roll_core/cli.py +++ b/hydro_roll_core/cli.py @@ -0,0 +1,45 @@ +import argparse + +class Cli(object): + parser = argparse.ArgumentParser(description="水系核心终端") + + def __init__(self): + self.parser.add_argument( + "-i", + "--install", + dest="command", + help="安装规则包", + action="store_const", + const="install_package", + ) + self.parser.add_argument( + "-T", + "--template", + dest="command", + help="选择模板快速创建规则包实例", + action="store_const", + const="build_template", + ) + self.parser.add_argument( + "-S", + "--search", + dest="command", + help="在指定镜像源查找规则包", + action="store_const", + const="search_package", + ) + self.parser.add_argument( + "-c", + "--config", + dest="command", + help="配置管理", + action="store_const", + const="config", + ) + self.args = self.parser.parse_args() + + def get_args(self): + return self.args + + def get_help(self): + return self.parser.format_help() \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 7da0fc9..e2ee6d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,10 @@ dev = [ "maturin>=1.5.1", ] +[project.scripts] +hrc = "hydro_roll_core.cli:Cli" +hydrorollcore = "hydro_roll_core.cli:Cli" + [tool.ruff] # Exclude a variety of commonly ignored directories. exclude = [ -- cgit v1.2.3-70-g09d2