diff options
| author | 2024-03-08 15:07:40 +0800 | |
|---|---|---|
| committer | 2024-03-08 15:07:40 +0800 | |
| commit | 46a82e2ae4732e47656d763b40cd16445b6f825c (patch) | |
| tree | f9becc5a653b766c99627558dfdcf266dd25a108 /src | |
| parent | 31272d886703aadb2b6943d1e0551bcce6b80252 (diff) | |
| download | ipm-46a82e2ae4732e47656d763b40cd16445b6f825c.tar.gz ipm-46a82e2ae4732e47656d763b40cd16445b6f825c.zip | |
feat(models): add add and remove api for infini package model
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipm/models/ipk.py | 12 |
1 files changed, 11 insertions, 1 deletions
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: |
