diff options
| author | 2024-01-23 20:17:42 +0800 | |
|---|---|---|
| committer | 2024-01-23 20:17:42 +0800 | |
| commit | 1bbf3ae779bd9b163085487c7ae5ac0109336aee (patch) | |
| tree | f119d01a7d083f5c9b6aa924be2564c84337c482 /src | |
| parent | f624f6b3f2bff9cbb0347f4e95ef279f2aeb40ac (diff) | |
| download | ipm-1bbf3ae779bd9b163085487c7ae5ac0109336aee.tar.gz ipm-1bbf3ae779bd9b163085487c7ae5ac0109336aee.zip | |
:sparkles: feat(cli): new api output
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipm/__main__.py | 6 | ||||
| -rw-r--r-- | src/ipm/api.py | 32 |
2 files changed, 22 insertions, 16 deletions
diff --git a/src/ipm/__main__.py b/src/ipm/__main__.py index ca57001..5af2872 100644 --- a/src/ipm/__main__.py +++ b/src/ipm/__main__.py @@ -95,7 +95,7 @@ def require( def unrequire(name: str = typer.Argument(help="Infini 包名")): """删除规则包依赖""" try: - api.unrequire(name) + api.unrequire(name, echo=True) except IpmException as error: logger.error(error) @@ -107,7 +107,7 @@ def add( ): """新增环境依赖""" try: - api.add(name, index=index) + api.add(name, index=index, echo=True) except IpmException as error: logger.error(error) @@ -116,7 +116,7 @@ def add( def remove(name: str = typer.Argument(help="Infini 包名")): """删除环境依赖""" try: - api.remove(name) + api.remove(name, echo=True) except IpmException as error: logger.error(error) diff --git a/src/ipm/api.py b/src/ipm/api.py index d7988d1..49f0895 100644 --- a/src/ipm/api.py +++ b/src/ipm/api.py @@ -196,10 +196,12 @@ def uninstall(name: str, confirm: bool = False, echo: bool = False) -> None: def require(name: str, index: str = "", echo: bool = False) -> None: - # TODO 输出 + info("检查环境中...", echo) pkg_lock = PackageLock() lock = ProjectLock() ipk = InfiniProject() + info("环境检查完毕.", echo) + splited_name = name.split("==") # TODO 支持 >= <= > < 标识 name = splited_name[0] @@ -209,6 +211,7 @@ def require(name: str, index: str = "", echo: bool = False) -> None: version = None if not pkg_lock.has_package(name): + info(f"检测到需要依赖的规则包[{name}]不存在, 安装中...", echo) install( f"name=={version}" if version else name, index=index, @@ -217,24 +220,29 @@ def require(name: str, index: str = "", echo: bool = False) -> None: echo=True, ) + info("处理 Infini 项目依赖锁...", echo) ipk.require(name, version, dump=True) lock.require(name, version, dump=True) + success("规则包依赖新增完成.", echo) -def unrequire(name: str): - # TODO 输出 +def unrequire(name: str, echo: bool = False): + info("处理 Infini 项目依赖锁...", echo) ipk = InfiniProject() lock = ProjectLock() ipk.unrequire(name, dump=True) lock.unrequire(name, dump=True) + success("规则包依赖删除完成.", echo) def add(name: str, index: str = "", echo: bool = False) -> None: - # TODO 输出 + info("检查环境中...", echo) pkg_lock = PackageLock() lock = ProjectLock() ipk = InfiniProject() + info("环境检查完毕.", echo) + splited_name = name.split("==") # TODO 支持 >= <= > < 标识 name = splited_name[0] @@ -244,22 +252,20 @@ def add(name: str, index: str = "", echo: bool = False) -> None: version = None if not pkg_lock.has_package(name): - install( - f"name=={version}" if version else name, - index=index, - upgrade=True, - force=True, - echo=True, - ) + # TODO pip 环境安装 + ... + info("处理 Infini 项目依赖锁...", echo) ipk.add(name, version, dump=True) lock.add(name, version, dump=True) + success("环境依赖新增完成.", echo) -def remove(name: str): - # TODO 输出 +def remove(name: str, echo: bool = False): + info("处理 Infini 项目依赖锁...", echo) ipk = InfiniProject() lock = ProjectLock() ipk.remove(name, dump=True) lock.remove(name, dump=True) + success("环境依赖删除完成.", echo) |
