diff options
| author | 2024-01-27 16:43:14 +0800 | |
|---|---|---|
| committer | 2024-01-27 16:43:14 +0800 | |
| commit | f7d2aa671060f918327a0474d249918a4a1c9604 (patch) | |
| tree | a9918c769976b59912996326513ca6356bfa509a /src | |
| parent | 540929e54822676fc5a8e93eac13a98ddbe849d4 (diff) | |
| download | ipm-f7d2aa671060f918327a0474d249918a4a1c9604.tar.gz ipm-f7d2aa671060f918327a0474d249918a4a1c9604.zip | |
:recycle: sync(infini): sync changes of infini >= 2.0.0
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipm/api.py | 60 |
1 files changed, 53 insertions, 7 deletions
diff --git a/src/ipm/api.py b/src/ipm/api.py index e0ee64f..6745b04 100644 --- a/src/ipm/api.py +++ b/src/ipm/api.py @@ -46,9 +46,21 @@ def init(source_path: StrPath, force: bool = False, echo: bool = False) -> bool: success("环境检查完毕.", echo) status.stop() - name = ask("项目名称:", default=source_path.name, echo=echo) - description = ask("项目简介:", default=f"{source_path.name.upper()} 规则包", echo=echo) - license = ask("开源协议:", default="MIT", echo=echo) + name = ask("项目名称", default=source_path.name, echo=echo) + version = ask("项目版本", default="0.1.0", echo=echo) + description = ask("项目简介", default=f"{source_path.name.upper()} 规则包", echo=echo) + license = ask("开源协议", default="MIT", echo=echo) + + default_entries = ["__init__.py", f"{name}.py"] + info("请选择你要使用的入口文件", echo) + for index, default_entry in enumerate(default_entries): + info(f"[bold cyan]{index}[/bold cyan]. [green]{default_entry}[/green]", echo) + entry_file = ask( + "入口文件:", + choices=[str(num) for num in range(len(default_entries))], + default="0", + echo=echo, + ) status.start() toml_file = toml_path.open("w", encoding="utf-8") @@ -56,7 +68,7 @@ def init(source_path: StrPath, force: bool = False, echo: bool = False) -> bool: { "infini": { "name": name, - "version": "0.1.0", + "version": version, "description": description, "license": license, }, @@ -68,9 +80,43 @@ def init(source_path: StrPath, force: bool = False, echo: bool = False) -> bool: toml_file.close() (source_path / "src").mkdir(parents=True, exist_ok=True) - (source_path / "src" / "__init__.py").write_text( - "# Initialized `__init__.py` generated by ipm." - ) + if entry_file == "0": + (source_path / "src" / "__init__.py").write_text( + "# Initialized `__init__.py` generated by ipm.\n" + "# This is the entry file for this Infini package." + "# Documents at https://ipm.hydroroll.team/\n\n" + "from .events import register as events_register\n" + "from .handlers import register as handlers_register\n" + "from .interceptors import register as interceptors_register\n" + ) + (source_path / "src" / "events.py").write_text( + "# Initialized `events.py` generated by ipm.\n" + "# Regists your text events and regist global variables here." + "# Documents at https://ipm.hydroroll.team/\n\n" + "from infini.register import Register\n\n\n" + "register = Register()\n" + ) + (source_path / "src" / "handlers.py").write_text( + "# Initialized `handlers.py` generated by ipm.\n" + "# Regists your handlers here." + "# Documents at https://ipm.hydroroll.team/\n\n" + "from infini.register import Register\n\n\n" + "register = Register()\n" + ) + (source_path / "src" / "interceptors.py").write_text( + "# Initialized `interceptors.py` generated by ipm.\n" + "# Regists your pre-interceptors and interceptors here." + "# Documents at https://ipm.hydroroll.team/\n\n" + "from infini.register import Register\n\n\n" + "register = Register()\n" + ) + else: + (source_path / "src" / default_entries[int(entry_file)]).write_text( + "# Initialized `__init__.py` generated by ipm.\n" + "# Documents at https://ipm.hydroroll.team/\n\n" + "from infini.register import Register\n\n\n" + "register = Register()\n" + ) return True |
