mirror of
https://github.com/PaiGramTeam/HonkaiStarRailWikiDataParser.git
synced 2025-01-30 18:38:36 +00:00
42 lines
1005 B
Python
42 lines
1005 B
Python
import asyncio
|
|
from pathlib import Path
|
|
|
|
import aiofiles
|
|
|
|
from func.client import client, retry
|
|
from func.url import mihomo_map_url
|
|
|
|
data_dir = Path("data") / "mihomo_map"
|
|
data_dir.mkdir(exist_ok=True, parents=True)
|
|
file_set = {
|
|
"characters.json",
|
|
"character_ranks.json",
|
|
"character_skills.json",
|
|
"character_skill_trees.json",
|
|
"character_promotions.json",
|
|
"light_cones.json",
|
|
"light_cone_ranks.json",
|
|
"light_cone_promotions.json",
|
|
"relics.json",
|
|
"relic_sets.json",
|
|
"relic_main_affixes.json",
|
|
"relic_sub_affixes.json",
|
|
"paths.json",
|
|
"elements.json",
|
|
"properties.json",
|
|
"avatars.json",
|
|
}
|
|
|
|
|
|
@retry
|
|
async def fetch_file(filename: str) -> None:
|
|
req = await client.get(mihomo_map_url + filename)
|
|
async with aiofiles.open(data_dir / filename, "wb") as f:
|
|
await f.write(req.content)
|
|
|
|
|
|
async def fetch_files():
|
|
print("获取 mihomo map 文件")
|
|
tasks = [fetch_file(file) for file in file_set]
|
|
await asyncio.gather(*tasks)
|