diff --git a/__version__ b/__version__ index 6a49e381..a71fac09 100644 --- a/__version__ +++ b/__version__ @@ -1 +1 @@ -__version__: v0.2.3 +__version__: v0.2.3-a39d7a3 diff --git a/zhenxun/utils/github_utils/__init__.py b/zhenxun/utils/github_utils/__init__.py index 89b0a80a..eb1b047f 100644 --- a/zhenxun/utils/github_utils/__init__.py +++ b/zhenxun/utils/github_utils/__init__.py @@ -1,6 +1,6 @@ from collections.abc import Generator -from .consts import GITHUB_REPO_URL_PATTERN +from .const import GITHUB_REPO_URL_PATTERN from .func import get_fastest_raw_formats, get_fastest_archive_formats from .models import RepoAPI, RepoInfo, GitHubStrategy, JsdelivrStrategy diff --git a/zhenxun/utils/github_utils/consts.py b/zhenxun/utils/github_utils/const.py similarity index 100% rename from zhenxun/utils/github_utils/consts.py rename to zhenxun/utils/github_utils/const.py diff --git a/zhenxun/utils/github_utils/func.py b/zhenxun/utils/github_utils/func.py index 95d2a3ef..03c43182 100644 --- a/zhenxun/utils/github_utils/func.py +++ b/zhenxun/utils/github_utils/func.py @@ -1,7 +1,7 @@ from aiocache import cached from ..http_utils import AsyncHttpx -from .consts import ( +from .const import ( ARCHIVE_URL_FORMAT, RAW_CONTENT_FORMAT, RELEASE_ASSETS_FORMAT, diff --git a/zhenxun/utils/github_utils/models.py b/zhenxun/utils/github_utils/models.py index 17089281..a7bbad06 100644 --- a/zhenxun/utils/github_utils/models.py +++ b/zhenxun/utils/github_utils/models.py @@ -5,7 +5,7 @@ from pydantic import BaseModel from ..http_utils import AsyncHttpx -from .consts import CACHED_API_TTL, GIT_API_TREES_FORMAT, JSD_PACKAGE_API_FORMAT +from .const import CACHED_API_TTL, GIT_API_TREES_FORMAT, JSD_PACKAGE_API_FORMAT from .func import ( get_fastest_raw_formats, get_fastest_archive_formats, @@ -199,13 +199,15 @@ class GitHubStrategy: body: TreeInfo - def export_files(self, module_path: str) -> list[str]: + def export_files(self, module_path: str, is_dir: bool) -> list[str]: """导出文件路径""" tree_info = self.body return [ file.path for file in tree_info.tree - if file.type == TreeType.FILE and file.path.startswith(module_path) + if file.type == TreeType.FILE + and file.path.startswith(module_path) + and (not is_dir or file.path[len(module_path)] == "/") ] @classmethod @@ -229,4 +231,4 @@ async def parse_repo_info(cls, repo_info: RepoInfo) -> "TreeInfo": def get_files(self, module_path: str, is_dir: bool = True) -> list[str]: """获取文件路径""" - return self.export_files(module_path) + return self.export_files(module_path, is_dir)