From 46a82e2ae4732e47656d763b40cd16445b6f825c Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Fri, 8 Mar 2024 15:07:40 +0800 Subject: feat(models): add add and remove api for infini package model --- src/ipm/models/ipk.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/ipm/models/ipk.py b/src/ipm/models/ipk.py index fb73d83..d91de6e 100644 --- a/src/ipm/models/ipk.py +++ b/src/ipm/models/ipk.py @@ -161,6 +161,16 @@ class InfiniProject(InfiniPackage): raise ProjectError(f"规则包 [bold green]{name}[/] 不在规则包依赖中.") self._data["requirements"].remove(name) # type: ignore + def add(self, name: str, version: str) -> None: + denpendencies = self.dependencies + denpendencies.update({name: version}) + self._data["dependencies"] = denpendencies + + def remove(self, name: str) -> None: + if name not in self._data.get("dependencies", {}): + raise ProjectError(f"规则包 [bold green]{name}[/] 不在规则包依赖中.") + self._data["dependencies"].remove(name) # type: ignore + @property def plain_dict(self) -> TOMLDocument: return self._data @@ -187,7 +197,7 @@ class InfiniProject(InfiniPackage): @property def dependencies(self) -> Dict[str, Any]: - return self._data["dependencies"] # type: ignore + return self._data.get("dependencies", {}) # type: ignore @property def requirements(self) -> Requirements: -- cgit v1.2.3-70-g09d2