PamGram/modules/apihelper/client/components/remote.py

51 lines
1.5 KiB
Python
Raw Normal View History

2023-02-28 14:15:48 +00:00
from typing import List, Dict
from httpx import AsyncClient, HTTPError
from metadata.scripts.metadatas import RESOURCE_DEFAULT_PATH
class Remote:
"""拉取云控资源"""
2023-03-27 01:04:08 +00:00
BASE_URL = f"https://raw.githubusercontent.com/{RESOURCE_DEFAULT_PATH}"
2023-02-28 14:15:48 +00:00
CALENDAR = f"{BASE_URL}calendar.json"
BIRTHDAY = f"{BASE_URL}birthday.json"
2023-04-04 14:02:14 +00:00
MATERIAL = f"{BASE_URL}roles_material.json"
2023-02-28 14:15:48 +00:00
@staticmethod
async def get_remote_calendar() -> Dict[str, Dict]:
"""获取云端日历"""
try:
async with AsyncClient() as client:
req = await client.get(Remote.CALENDAR)
if req.status_code == 200:
return req.json()
return {}
except HTTPError:
return {}
@staticmethod
async def get_remote_birthday() -> Dict[str, List[str]]:
"""获取云端生日"""
try:
async with AsyncClient() as client:
req = await client.get(Remote.BIRTHDAY)
if req.status_code == 200:
return req.json()
return {}
except HTTPError:
return {}
2023-04-04 14:02:14 +00:00
@staticmethod
async def get_remote_material() -> Dict[str, List[str]]:
"""获取云端角色材料"""
try:
async with AsyncClient() as client:
req = await client.get(Remote.MATERIAL)
if req.status_code == 200:
return req.json()
return {}
except HTTPError:
return {}