diff options
Diffstat (limited to 'src/hydrorollcore/cli.py')
| -rw-r--r-- | src/hydrorollcore/cli.py | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/hydrorollcore/cli.py b/src/hydrorollcore/cli.py index 8ce0fd9e..5351d96d 100644 --- a/src/hydrorollcore/cli.py +++ b/src/hydrorollcore/cli.py @@ -1,22 +1,40 @@ +from pathlib import Path +from .consts import templates + +# from tkinter import messagebox + import argparse -from tkinter import messagebox +import os +import sys class Cli: def parse_args(self): - # 创建解析器对象 parser = argparse.ArgumentParser(description="HydroRoll 命令行工具") - # 添加命令行参数 - parser.add_argument("--gui", action="store_true", help="显示弹窗") + parser.add_argument("--new", action="store_true", help="创建一个 HydroRoll 规则包模板") + parser.add_argument("--run", action="store_true", help="运行 HydroRoll 规则包") + # parser.add_argument("--gui", action="store_true", help="显示弹窗") parser.add_argument("--path", help="指定路径") - # 解析命令行参数 args = parser.parse_args() - # 处理命令行参数 - if args.gui: - messagebox.showinfo("提示", "这是一个弹窗!") + # if args.gui: + # messagebox.showinfo("提示", "这是一个弹窗!") + + path = Path(args.path).resolve() if args.path else Path(os.getcwd()).resolve() + if args.new and args.run: + print("无法确定的指令要求: 你同时指定了new与run指令。") + sys.exit(1) + + if args.new: + if path.exists(): + print("指定的文件夹已经存在!") + sys.exit(1) + + path.mkdir(parents=True, exist_ok=True) + (path / "rule.py").write_text(templates.RULE) + (path / "event.py").write_text(templates.EVENT) + (path / "dice.py").write_text(templates.DICE) - if args.path: - print("输入的路径:", args.path) + print("HydroRoll 规则包模板已创建!") |
