From d0493fa55ee3ca63fce4b918e432e34c90eddae9 Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Fri, 29 Mar 2024 18:34:53 +0800 Subject: fix(index): fix recursion load --- src/ipm/models/index.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ipm/models/index.py b/src/ipm/models/index.py index 774da1f..cd8b78b 100644 --- a/src/ipm/models/index.py +++ b/src/ipm/models/index.py @@ -2,7 +2,6 @@ from pathlib import Path from typing import Any, Literal, Optional from ipm.const import INDEX_PATH from ipm.exceptions import LockLoadFailed -from ipm.models.lock import PackageLock from ipm.typing import Dict import requests @@ -45,6 +44,8 @@ class Yggdrasil: @staticmethod def init(index: str) -> "Yggdrasil": + from ipm.models.lock import PackageLock + lock_bytes = requests.get( index.rstrip("/") + "/" + "json/packages.json" ).content @@ -99,6 +100,11 @@ class Yggdrasil: if distribution["version"] == match_version: return distribution["hash"] + def get_lastest_version(self, name: str) -> Optional[str]: + if name not in self.packages: + return None + return self.packages[name]["latestVersion"] + @property def uuid(self) -> str: """世界树唯一标识""" -- cgit v1.2.3-70-g09d2