From cc5508040426c16c44c8bb796d806de991414f00 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Tue, 12 Mar 2024 14:57:51 +0800 Subject: refactor(utils): rename imports from relative to absolutive --- src/ipm/project/env.py | 3 ++- src/ipm/project/toml_file.py | 15 ++++++++++++--- src/ipm/utils/loader.py | 8 ++++---- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/ipm/project/env.py b/src/ipm/project/env.py index ae15502..eb122af 100644 --- a/src/ipm/project/env.py +++ b/src/ipm/project/env.py @@ -1,7 +1,8 @@ -import os from pathlib import Path from virtualenv.run.session import Session + import virtualenv +import os def new_virtualenv(target_path: Path) -> Session: diff --git a/src/ipm/project/toml_file.py b/src/ipm/project/toml_file.py index fdf7cfd..c855408 100644 --- a/src/ipm/project/toml_file.py +++ b/src/ipm/project/toml_file.py @@ -1,12 +1,11 @@ from ipm.const import GITIGNORE +from ipm.exceptions import ProjectError +from ipm.models.ipk import InfiniProject from pathlib import Path from typing import List -from tomlkit.items import Table import tomlkit -from ipm.models.ipk import InfiniProject - def init_infini( toml_path: Path, @@ -104,6 +103,16 @@ def add_yggdrasil(toml_path: Path, name: str, index: str): project.dump() +def remove_yggdrasil(project: InfiniProject, name: str): + if "yggdrasils" not in project._data: + raise ProjectError("项目文件缺乏 [bold red]yggdrasils[/] 项.") + else: + yggdrasils = project._data["yggdrasils"] + if name not in yggdrasils.keys(): # type: ignore + raise ProjectError(f"世界树 [bold red]{name}[/] 未注册, 忽略操作.") + project.dump() + + def init_pyproject( target_path: Path, name: str, diff --git a/src/ipm/utils/loader.py b/src/ipm/utils/loader.py index 8baf737..3a0d707 100644 --- a/src/ipm/utils/loader.py +++ b/src/ipm/utils/loader.py @@ -1,8 +1,8 @@ from pathlib import Path -from .freeze import extract_ipk -from ..const import STORAGE -from ..logging import info, success -from ..models.ipk import InfiniFrozenPackage +from ipm.utils.freeze import extract_ipk +from ipm.const import STORAGE +from ipm.logging import info, success +from ipm.models.ipk import InfiniFrozenPackage import requests import tempfile -- cgit v1.2.3-70-g09d2