mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-09-30 01:00:02 +08:00
@@ -0,0 +1,23 @@
|
||||
from .consts import GITHUB_REPO_URL_PATTERN
|
||||
from .func import get_fastest_raw_format, get_fastest_archive_format
|
||||
from .models import RepoAPI, RepoInfo, GitHubStrategy, JsdelivrStrategy
|
||||
|
||||
__all__ = [
|
||||
"parse_github_url",
|
||||
"get_fastest_raw_format",
|
||||
"get_fastest_archive_format",
|
||||
"api_strategy",
|
||||
]
|
||||
|
||||
|
||||
def parse_github_url(github_url: str) -> "RepoInfo":
|
||||
if matched := GITHUB_REPO_URL_PATTERN.match(github_url):
|
||||
return RepoInfo(**{k: v for k, v in matched.groupdict().items() if v})
|
||||
raise ValueError("github地址格式错误")
|
||||
|
||||
|
||||
# 使用
|
||||
jsdelivr_api = RepoAPI(JsdelivrStrategy()) # type: ignore
|
||||
github_api = RepoAPI(GitHubStrategy()) # type: ignore
|
||||
|
||||
api_strategy = [jsdelivr_api, github_api]
|
||||
Reference in New Issue
Block a user